home *** CD-ROM | disk | FTP | other *** search
/ Aminet 37 / Aminet 37 (2000)(Schatztruhe)[!][Jun 2000].iso / Aminet / dev / lang / sofa.lha / sofa / smalleiffel / bin_c / compile_to_c12.c < prev    next >
C/C++ Source or Header  |  2000-03-25  |  107KB  |  4,592 lines

  1. /*
  2. -- ANSI C code generated by :
  3. -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.76Beta#1)--
  4. -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
  5. -- Dominique COLNET and Suzanne COLLIN -    colnet@loria.fr     --
  6. --                  http://SmallEiffel.loria.fr/                --
  7. */
  8. #include "compile_to_c.h"
  9.  
  10.  
  11. T0* r184to_runnable(T184* C,T0* a1){
  12. T0* R=NULL;
  13. /*[IF*/
  14. if(((/*RF2*/(C)->_result_type/*12*/))==((void*)(NULL))){
  15. (/*SFN*/C->_result_type)=a1;
  16. R=((T0*)(C));
  17. }
  18.  else if(((/*RF2*/(C)->_result_type/*12*/))==((void*)(a1))){
  19. R=((T0*)(C));
  20. }
  21. else{
  22. {T184*n=((T184*)malloc(sizeof(*n))/*16*/);
  23. *n=M184;
  24. /*[IRF3.3make*/((((T184*)(n)))->_start_position)=((/*RF2*/(C)->_start_position/*4*/));
  25. /*]*/
  26. R=((T0*)n);
  27. }
  28. R=r184to_runnable(((T184*)R),a1);
  29. }
  30. /*FI]*/
  31. return R;
  32. }
  33.  
  34.  
  35. T2 r184to_integer(T184* C){
  36. T2 R=0;
  37. r184error((/*RF2*/(C)->_start_position/*4*/),((T0*)ms14_45441));
  38. return R;
  39. }
  40.  
  41.  
  42. void r184error(T68 a1,T0* a2){
  43. r66add_position(a1);
  44. /*[IRF3.6append*/{T0* b1=a2;
  45. r7append((T7*)(oBC66explanation),b1);
  46. }/*]*/
  47. r66print_as_error((T66*)(oBC13eh));
  48. }
  49.  
  50.  
  51. T0* r184static_result_base_class(T184* C){
  52. T0* R=NULL;
  53. R=(/*RF2*/((/*RF2*/(C)->_start_position/*4*/))._base_class/*0*/);
  54. return R;
  55. }
  56.  
  57.  
  58. void r184compile_to_c(T184* C){
  59. /*[IF*/
  60. if(X52is_user_expanded((/*RF2*/(C)->_result_type/*12*/))){
  61. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  62. T3 b1=((T3)'\52');
  63. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  64. }/*]*/
  65. /*]*/
  66. }
  67. /*FI]*/
  68. r325print_current((T325*)(oBC13cpp));
  69. }
  70.  
  71.  
  72. void r184mapping_c_arg(T184* C,T0* a1){
  73. T0* _rt=NULL;
  74. _rt=X52run_type((/*RF2*/(C)->_result_type/*12*/));
  75. /*[IF*/
  76. if(X52is_reference(_rt)){
  77. /*[IF*/
  78. if(X52is_reference(a1)){
  79. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_1275));
  80. /*]*/
  81. r325print_current((T325*)(oBC13cpp));
  82. }
  83. else{
  84. r325print_current((T325*)(oBC13cpp));
  85. }
  86. /*FI]*/
  87. }
  88.  else if(X52is_reference(a1)){
  89. r325print_current((T325*)(oBC13cpp));
  90. }
  91.  else if(X52is_user_expanded(_rt)){
  92. /*[IF*/
  93. if(!(X52is_dummy_expanded(_rt))){
  94. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  95. T3 b1=((T3)'\52');
  96. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  97. }/*]*/
  98. /*]*/
  99. }
  100. /*FI]*/
  101. r325print_current((T325*)(oBC13cpp));
  102. }
  103. else{
  104. r325print_current((T325*)(oBC13cpp));
  105. }
  106. /*FI]*/
  107. }
  108.  
  109.  
  110. void r111compile_to_c_old(T111* C){
  111. X104compile_to_c_old((/*RF2*/(C)->_target/*4*/));
  112. /*[IF*/
  113. {/*AT*//*SSPRF3*//*X139compile_to_c_old*/r139compile_to_c_old((T139*)((/*RF2*/(C)->_arguments/*8*/)));
  114. }
  115. /*FI]*/
  116. }
  117.  
  118.  
  119. T0* r111runnable_expression(T0* a1,T0* a2){
  120. T0* R=NULL;
  121. R=X104to_runnable(a1,a2);
  122. /*[IF*/
  123. if((R)==((void*)(NULL))){
  124. {T68 se_tmp0;
  125. r66add_position((*(se_tmp0=X104start_position(a1),&se_tmp0)));
  126. }
  127. r111fatal_error(((T0*)ms116_16290));
  128. }
  129. /*FI]*/
  130. return R;
  131. }
  132.  
  133.  
  134. void r111run_feature_has_result(T111* C){
  135. /*[IF*/
  136. if((X334result_type((/*RF2*/(C)->_run_feature/*16*/)))==((void*)(NULL))){
  137. {T68 se_tmp0;
  138. r66add_position((*(se_tmp0=X334start_position((/*RF2*/(C)->_run_feature/*16*/)),&se_tmp0)));
  139. }
  140. r66add_position((/*RF2*/((T129*)((/*RF2*/(C)->_feature_name/*12*/)))->_start_position/*4*/));
  141. r111fatal_error(((T0*)ms115_53215));
  142. }
  143. /*FI]*/
  144. }
  145.  
  146.  
  147. void r111run_feature_match(T111* C,T0* a1){
  148. r111run_feature_has_result(C);
  149. X139match_with((/*RF2*/(C)->_arguments/*8*/),(/*RF2*/(C)->_run_feature/*16*/),a1);
  150. }
  151.  
  152.  
  153. T0* r111add_comment(T111* C,T0* a1){
  154. T0* R=NULL;
  155. /*[IF*/
  156. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(0))){
  157. R=((T0*)(C));
  158. }
  159. else{
  160. {T229*n=((T229*)malloc(sizeof(*n))/*12*/);
  161. *n=M229;
  162. r229make(n,(T0*)C,a1);
  163. R=((T0*)n);
  164. }
  165. }
  166. /*FI]*/
  167. return R;
  168. }
  169.  
  170.  
  171. void r111with(T111* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
  172. (/*SFN*/C->_target)=a1;
  173. (/*SFN*/C->_feature_name)=a2;
  174. (/*SFN*/C->_arguments)=a3;
  175. (/*SFN*/C->_run_feature)=a4;
  176. r111run_feature_match(C,a5);
  177. }
  178.  
  179.  
  180. void r111mapping_c_target(T111* C,T0* a1){
  181. T0* _actual_type=NULL;
  182. T6 _flag=0;
  183. _flag=r325call_invariant_start(a1);
  184. _actual_type=X52run_type(r111result_type(C));
  185. /*[IF*/
  186. if(X52is_reference(_actual_type)){
  187. /*[IF*/
  188. if(X52is_reference(a1)){
  189. X52mapping_cast(a1);
  190. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  191. T3 b1=((T3)'\50');
  192. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  193. }/*]*/
  194. /*]*/
  195. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T111* C1=C;
  196. r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
  197. }/*]*/
  198. /*]*/
  199. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  200. T3 b1=((T3)'\51');
  201. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  202. }/*]*/
  203. /*]*/
  204. }
  205. else{
  206. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T111* C1=C;
  207. r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
  208. }/*]*/
  209. /*]*/
  210. }
  211. /*FI]*/
  212. }
  213. else{
  214. /*[IF*/
  215. if(X52is_reference(a1)){
  216. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T111* C1=C;
  217. r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
  218. }/*]*/
  219. /*]*/
  220. }
  221. else{
  222. /*[IF*/
  223. if(X52need_c_struct(a1)){
  224. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  225. T3 b1=((T3)'\46');
  226. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  227. }/*]*/
  228. /*]*/
  229. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  230. T3 b1=((T3)'\50');
  231. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  232. }/*]*/
  233. /*]*/
  234. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T111* C1=C;
  235. r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
  236. }/*]*/
  237. /*]*/
  238. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  239. T3 b1=((T3)'\51');
  240. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  241. }/*]*/
  242. /*]*/
  243. }
  244. else{
  245. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T111* C1=C;
  246. r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
  247. }/*]*/
  248. /*]*/
  249. }
  250. /*FI]*/
  251. }
  252. /*FI]*/
  253. }
  254. /*FI]*/
  255. /*[IF*/
  256. if(_flag){
  257. /*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T48* C1=(T48*)(oBC325out_c);
  258. T3 b1=((T3)'\51');
  259. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  260. }/*]*/
  261. /*]*/
  262. }
  263. /*FI]*/
  264. }
  265.  
  266.  
  267. void r111afd_check(T111* C){
  268. T0* _running=NULL;
  269. T0* _rc=NULL;
  270. /*[IF*/
  271. if(((/*RF2*/(C)->_run_feature/*16*/))!=((void*)(NULL))){
  272. _rc=X52run_class(X104result_type((/*RF2*/(C)->_target/*4*/)));
  273. _running=(/*RF2*/(((T50*)_rc))->_running/*9*/);
  274. /*[IF*/
  275. if((_running)==((void*)(NULL))){
  276. }
  277.  else if((r53count(((T53*)_running)))>(1)){
  278. r351update((/*RF2*/(C)->_target/*4*/),(/*RF2*/(C)->_run_feature/*16*/));
  279. }
  280. /*FI]*/
  281. }
  282. /*FI]*/
  283. X104afd_check((/*RF2*/(C)->_target/*4*/));
  284. /*[IF*/
  285. {/*AT*//*SSPRF3*//*X139afd_check*/r139afd_check((T139*)((/*RF2*/(C)->_arguments/*8*/)));
  286. }
  287. /*FI]*/
  288. }
  289.  
  290.  
  291. void r111c_declare_for_old(T111* C){
  292. X104c_declare_for_old((/*RF2*/(C)->_target/*4*/));
  293. /*[IF*/
  294. {/*AT*//*SSPRF3*//*X139c_declare_for_old*/r139c_declare_for_old((T139*)((/*RF2*/(C)->_arguments/*8*/)));
  295. }
  296. /*FI]*/
  297. }
  298.  
  299.  
  300. void r111collect_c_tmp(T111* C){
  301. /*[IF*/
  302. if(((/*RF2*/(C)->_run_feature/*16*/))!=((void*)(NULL))){
  303. X334collect_c_tmp((/*RF2*/(C)->_run_feature/*16*/));
  304. }
  305. /*FI]*/
  306. X104collect_c_tmp((/*RF2*/(C)->_target/*4*/));
  307. /*[IF*/
  308. if(((/*RF2*/(C)->_arguments/*8*/))!=((void*)(NULL))){
  309. /*SSPRF3*//*X139collect_c_tmp*/r139collect_c_tmp((T139*)((/*RF2*/(C)->_arguments/*8*/)));
  310. }
  311. /*FI]*/
  312. }
  313.  
  314.  
  315. T0* r111operator(void){
  316. T0* R=NULL;
  317. R=((T0*)ms15_9408);
  318. return R;
  319. }
  320.  
  321.  
  322. T6 r111use_current(T111* C){
  323. T6 R=0;
  324. /*[IF*/
  325. {/*AT*/R=/*SSFRF4*//*X139use_current*/r139use_current((T139*)((/*RF2*/(C)->_arguments/*8*/)));
  326. }
  327. /*FI]*/
  328. /*[IF*/
  329. if(R){
  330. }
  331.  else if(X104is_current((/*RF2*/(C)->_target/*4*/))){
  332. R=X334use_current((/*RF2*/(C)->_run_feature/*16*/));
  333. }
  334. else{
  335. R=X104use_current((/*RF2*/(C)->_target/*4*/));
  336. }
  337. /*FI]*/
  338. return R;
  339. }
  340.  
  341.  
  342. T0* r111runnable_args(T0* a1,T0* a2){
  343. T0* R=NULL;
  344. R=X139to_runnable(a1,a2);
  345. /*[IF*/
  346. if((R)==((void*)(NULL))){
  347. {T68 se_tmp0;
  348. r66add_position((*(se_tmp0=X139start_position(a1),&se_tmp0)));
  349. }
  350. r111fatal_error(((T0*)ms14_12870));
  351. }
  352. /*FI]*/
  353. return R;
  354. }
  355.  
  356.  
  357. T0* r111to_runnable(T111* C,T0* a1){
  358. T0* R=NULL;
  359. T0* _target_type=NULL;
  360. T0* _argument_type=NULL;
  361. T0* _rf=NULL;
  362. T0* _a=NULL;
  363. T0* _t=NULL;
  364. _t=r111runnable_expression((/*RF2*/(C)->_target/*4*/),a1);
  365. _a=r111runnable_args((/*RF2*/(C)->_arguments/*8*/),a1);
  366. _target_type=X104result_type(_t);
  367. _argument_type=X104result_type(r111arg1(C));
  368. /*[IF*/
  369. if(X52is_real(_argument_type)){
  370. /*[IF*/
  371. if(X52is_integer(_target_type)){
  372. _t=r341implicit_cast((T341*)(oBC13conversion_handler),_t,_argument_type);
  373. }
  374. /*FI]*/
  375. }
  376.  else if(X52is_double(_argument_type)){
  377. /*[IF*/
  378. if((X52is_integer(_target_type))||(X52is_real(_target_type))){
  379. _t=r341implicit_cast((T341*)(oBC13conversion_handler),_t,_argument_type);
  380. }
  381. /*FI]*/
  382. }
  383. /*FI]*/
  384. _rf=r111run_feature_for(C,_t,a1);
  385. /*[IF*/
  386. if(((/*RF2*/(C)->_run_feature/*16*/))==((void*)(NULL))){
  387. (/*SFN*/C->_target)=_t;
  388. (/*SFN*/C->_arguments)=_a;
  389. (/*SFN*/C->_run_feature)=_rf;
  390. r111run_feature_match(C,a1);
  391. R=((T0*)(C));
  392. }
  393.  else if(((_t)==((void*)((/*RF2*/(C)->_target/*4*/))))&&((_a)==((void*)((/*RF2*/(C)->_arguments/*8*/))))){
  394. R=((T0*)(C));
  395. }
  396. else{
  397. {T111*n=((T111*)malloc(sizeof(*n))/*24*/);
  398. *n=M111;
  399. r111with(n,_t,(/*RF2*/(C)->_feature_name/*12*/),_a,_rf,a1);
  400. R=((T0*)n);
  401. }
  402. }
  403. /*FI]*/
  404. return R;
  405. }
  406.  
  407.  
  408. T2 r111to_integer(T111* C){
  409. T2 R=0;
  410. r111error(/*(IRF4.6start_position*/(/*RF2*/(((T129*)((/*RF2*/(C)->_feature_name/*12*/))))->_start_position/*4*/)/*)*/,((T0*)ms14_45441));
  411. return R;
  412. }
  413.  
  414.  
  415. T6 r111is_static(T111* C){
  416. T6 R=0;
  417. /*[IF*/
  418. if(X52is_boolean(X104result_type((/*RF2*/(C)->_target/*4*/)))){
  419. /*[IF*/
  420. if(X104is_static((/*RF2*/(C)->_target/*4*/))){
  421. /*[IF*/
  422. if((X104static_value((/*RF2*/(C)->_target/*4*/)))==(0)){
  423. R=1;
  424. (/*SFN*/C->_static_value_mem)=1;
  425. }
  426.  else if(X104is_static(r111arg1(C))){
  427. R=1;
  428. (/*SFN*/C->_static_value_mem)=X104static_value(r111arg1(C));
  429. }
  430. /*FI]*/
  431. }
  432. /*FI]*/
  433. }
  434. /*FI]*/
  435. return R;
  436. }
  437.  
  438.  
  439. void r111finalize(T111* C){
  440. T0* _rf=NULL;
  441. T0* _rc=NULL;
  442. _rf=(/*RF2*/(C)->_run_feature/*16*/);
  443. _rc=X52run_class(/*SSWARF2*//*X334current_type*/(/*RF2*/(((T368*)_rf))->_current_type/*8*/));
  444. (/*SFN*/C->_run_feature)=r50dynamic((T50*)(/*(IRF4.6first*/((/*RF2*/((T53*)((/*RF2*/(((T50*)_rc))->_running/*9*/)))->_storage/*0*/))[0]/*)*/),_rf);
  445. }
  446.  
  447.  
  448. void r111error(T68 a1,T0* a2){
  449. r66add_position(a1);
  450. /*[IRF3.6append*/{T0* b1=a2;
  451. r7append((T7*)(oBC66explanation),b1);
  452. }/*]*/
  453. r66print_as_error((T66*)(oBC13eh));
  454. }
  455.  
  456.  
  457. T0* r111result_type(T111* C){
  458. T0* R=NULL;
  459. T0* _tla=NULL;
  460. R=X334result_type((/*RF2*/(C)->_run_feature/*16*/));
  461. /*[IF*/
  462. if(X52is_like_current(R)){
  463. R=/*SSWARF2*//*X334current_type*/(/*RF2*/((T368*)((/*RF2*/(C)->_run_feature/*16*/)))->_current_type/*8*/);
  464. }
  465. else{
  466. _tla=R;
  467. if(NULL!=(_tla)){
  468. switch(((T0*)_tla)->id){
  469. case 257:
  470. break;
  471. default:
  472. _tla=NULL;
  473. }
  474. }/*[IF*/
  475. if((_tla)!=((void*)(NULL))){
  476. R=X52run_type(X104result_type(r111arg1(C)));
  477. }
  478. /*FI]*/
  479. }
  480. /*FI]*/
  481. return R;
  482. }
  483.  
  484.  
  485. T0* r111arg1(T111* C){
  486. T0* R=NULL;
  487. R=/*SSFRF4*//*X139first*//*(IRF4.3first*/(/*RF2*/((T139*)((/*RF2*/(C)->_arguments/*8*/)))->_first_one/*4*/)/*)*/;
  488. return R;
  489. }
  490.  
  491.  
  492. T6 r111call_proc_call_stupid_switch(T111* C,T0* a1){
  493. T6 R=0;
  494. /*[IF*/
  495. if(((/*RF2*/(C)->_arguments/*8*/))==((void*)(NULL))){
  496. R=1;
  497. }
  498. else{
  499. R=/*SSFRF4*//*X139stupid_switch*/r139stupid_switch((T139*)((/*RF2*/(C)->_arguments/*8*/)),a1);
  500. }
  501. /*FI]*/
  502. /*[IF*/
  503. if(R){
  504. /*[IF*/
  505. if(X104is_current((/*RF2*/(C)->_target/*4*/))){
  506. /*[IF*/
  507. if(r49same_base_feature((/*RF2*/(C)->_run_feature/*16*/),a1)){
  508. R=(X334stupid_switch((/*RF2*/(C)->_run_feature/*16*/),a1))!=((void*)(NULL));
  509. }
  510. else{
  511. R=0;
  512. }
  513. /*FI]*/
  514. }
  515. else{
  516. R=X104stupid_switch((/*RF2*/(C)->_target/*4*/),a1);
  517. }
  518. /*FI]*/
  519. }
  520. /*FI]*/
  521. return R;
  522. }
  523.  
  524.  
  525. T0* r111run_feature_for(T111* C,T0* a1,T0* a2){
  526. T0* R=NULL;
  527. T0* _bc=NULL;
  528. T0* _rt=NULL;
  529. T0* _rc=NULL;
  530. _rt=X104result_type(a1);
  531. /*[IF*/
  532. if((_rt)!=((void*)(NULL))){
  533. _rc=X52run_class(_rt);
  534. /*[IF*/
  535. if((_rc)!=((void*)(NULL))){
  536. _bc=r50base_class(((T50*)_rc));
  537. R=r51run_feature_for(((T51*)_bc),_rc,a1,(/*RF2*/(C)->_feature_name/*12*/),a2);
  538. }
  539. /*FI]*/
  540. }
  541. /*FI]*/
  542. /*[IF*/
  543. if((R)==((void*)(NULL))){
  544. r66add_position((/*RF2*/((T129*)((/*RF2*/(C)->_feature_name/*12*/)))->_start_position/*4*/));
  545. /*[IRF3.6append*/{T0* b1=((T0*)ms116_39025);
  546. r7append((T7*)(oBC66explanation),b1);
  547. }/*]*/
  548. r66print_as_fatal_error((T66*)(oBC13eh));
  549. }
  550. /*FI]*/
  551. return R;
  552. }
  553.  
  554.  
  555. T0* r111static_result_base_class(T111* C){
  556. T0* R=NULL;
  557. T0* _cn=NULL;
  558. T0* _rt=NULL;
  559. T0* _e_feature=NULL;
  560. T0* _bc=NULL;
  561. _bc=X104static_result_base_class((/*RF2*/(C)->_target/*4*/));
  562. /*[IF*/
  563. if((_bc)!=((void*)(NULL))){
  564. _e_feature=r51e_feature(((T51*)_bc),(/*RF2*/(C)->_feature_name/*12*/));
  565. /*[IF*/
  566. if((_e_feature)!=((void*)(NULL))){
  567. _rt=X90result_type(_e_feature);
  568. /*[IF*/
  569. if((_rt)!=((void*)(NULL))){
  570. _cn=X52static_base_class_name(_rt);
  571. /*[IF*/
  572. if((_cn)!=((void*)(NULL))){
  573. R=r61base_class(((T61*)_cn));
  574. }
  575. /*FI]*/
  576. }
  577. /*FI]*/
  578. }
  579. /*FI]*/
  580. }
  581. /*FI]*/
  582. return R;
  583. }
  584.  
  585.  
  586. void r111make(T111* C,T0* a1,T68 a2,T0* a3){
  587. (/*SFN*/C->_target)=a1;
  588. {T129*n=((T129*)malloc(sizeof(*n))/*20*/);
  589. *n=M129;
  590. r129make(n,r111operator(),a2);
  591. (/*SFN*/C->_feature_name)=((T0*)n);
  592. }
  593. {T139*n=((T139*)malloc(sizeof(*n))/*16*/);
  594. *n=M139;
  595. /*[IRF3.3make_1*/((((T139*)(n)))->_first_one)=(a3);
  596. /*]*/
  597. (/*SFN*/C->_arguments)=((T0*)n);
  598. }
  599. }
  600.  
  601.  
  602. void r111fatal_error(T0* a1){
  603. /*[IRF3.6append*/{T0* b1=a1;
  604. r7append((T7*)(oBC66explanation),b1);
  605. }/*]*/
  606. r66print_as_fatal_error((T66*)(oBC13eh));
  607. }
  608.  
  609.  
  610. void r111assertion_check(T111* C,T3 a1){
  611. /*[IF*/
  612. if((a1)==(((T3)'R'))){
  613. X334vape_check_from((/*RF2*/(C)->_run_feature/*16*/),/*(IRF4.6start_position*/(/*RF2*/(((T129*)((/*RF2*/(C)->_feature_name/*12*/))))->_start_position/*4*/)/*)*/);
  614. }
  615. /*FI]*/
  616. X104assertion_check((/*RF2*/(C)->_target/*4*/),a1);
  617. X104assertion_check(r111arg1(C),a1);
  618. }
  619.  
  620.  
  621. T6 r111stupid_switch(T111* C,T0* a1){
  622. T6 R=0;
  623. R=r111call_proc_call_stupid_switch(C,a1);
  624. /*[IF*/
  625. if(R){
  626. R=!(X52is_native_array(r111result_type(C)));
  627. }
  628. /*FI]*/
  629. return R;
  630. }
  631.  
  632.  
  633. T6 r286is_always_true(T286* C){
  634. T6 R=0;
  635. T0* _assertion=NULL;
  636. T2 _i=0;
  637. _i=(/*RF2*/((T101*)((/*RF2*/(C)->_list/*12*/)))->_upper/*8*/);
  638. R=1;
  639. while (!((!(R))||((_i)==(0))))
  640. {
  641. _assertion=r101item((T101*)((/*RF2*/(C)->_list/*12*/)),_i);
  642. R=r100is_always_true(((T100*)_assertion));
  643. _i=(_i)-(1);
  644. }
  645. return R;
  646. }
  647.  
  648.  
  649. T0* r286check_assertion_mode(void){
  650. T0* R=NULL;
  651. R=((T0*)ms286_984);
  652. return R;
  653. }
  654.  
  655.  
  656. void r286make(T286* C,T68 a1,T0* a2,T0* a3){
  657. (/*SFN*/C->_start_position)=a1;
  658. (/*SFN*/C->_header_comment)=a2;
  659. (/*SFN*/C->_list)=a3;
  660. }
  661.  
  662.  
  663. void r286add_into(T286* C,T0* a1){
  664. T0* _a=NULL;
  665. T2 _i=0;
  666. /*[IF*/
  667. if(((/*RF2*/(C)->_list/*12*/))!=((void*)(NULL))){
  668. _i=1;
  669. while (!((_i)>((/*RF2*/((T101*)((/*RF2*/(C)->_list/*12*/)))->_upper/*8*/))))
  670. {
  671. _a=r101item((T101*)((/*RF2*/(C)->_list/*12*/)),_i);
  672. /*[IF*/
  673. if(!(r101fast_has(((T101*)a1),_a))){
  674. r101add_last(((T101*)a1),_a);
  675. }
  676. /*FI]*/
  677. _i=(_i)+(1);
  678. }
  679. }
  680. /*FI]*/
  681. }
  682.  
  683.  
  684. void r286afd_check(T286* C){
  685. T2 _i=0;
  686. /*[IF*/
  687. if(((/*RF2*/(C)->_list/*12*/))!=((void*)(NULL))){
  688. _i=(/*RF2*/((T101*)((/*RF2*/(C)->_list/*12*/)))->_upper/*8*/);
  689. while (!((_i)==(0)))
  690. {
  691. r100afd_check((T100*)(r101item((T101*)((/*RF2*/(C)->_list/*12*/)),_i)));
  692. _i=(_i)-(1);
  693. }
  694. }
  695. /*FI]*/
  696. }
  697.  
  698.  
  699. void r286compile_to_c(T286* C){
  700. T0* _assertion=NULL;
  701. T6 _need_se_tmp=0;
  702. T2 _i=0;
  703. /*[IF*/
  704. if(r286is_always_true(C)){
  705. r325increment_static_expression_count((T325*)(oBC13cpp),r101count((T101*)((/*RF2*/(C)->_list/*12*/))));
  706. }
  707. else{
  708. /*[IF*/
  709. if(((/*RF2*/(C)->_run_feature/*20*/))==((void*)(NULL))){
  710. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms103_51064));
  711. /*]*/
  712. }
  713. else{
  714. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms103_741));
  715. /*]*/
  716. /*SSPRF3*//*X334c_assertion_flag*/r368c_assertion_flag((T368*)((/*RF2*/(C)->_run_feature/*20*/)));
  717. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms103_522));
  718. /*]*/
  719. /*SSPRF3*//*X334c_assertion_flag*/r368c_assertion_flag((T368*)((/*RF2*/(C)->_run_feature/*20*/)));
  720. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms103_712));
  721. /*]*/
  722. }
  723. /*FI]*/
  724. _i=1;
  725. while (!((_i)>((/*RF2*/((T101*)((/*RF2*/(C)->_list/*12*/)))->_upper/*8*/))))
  726. {
  727. _assertion=r101item((T101*)((/*RF2*/(C)->_list/*12*/)),_i);
  728. /*[IF*/
  729. if(r100is_always_true(((T100*)_assertion))){
  730. }
  731. else{
  732. r100collect_c_tmp(((T100*)_assertion));
  733. _need_se_tmp=r325se_tmp_open_declaration((T325*)(oBC13cpp));
  734. /*[IRF3.3set_check_assertion_mode*/((((T325*)((T325*)(oBC13cpp))))->_check_assertion_mode)=(r286check_assertion_mode());
  735. /*]*/
  736. r100compile_to_c(((T100*)_assertion));
  737. /*[IF*/
  738. if(_need_se_tmp){
  739. r325se_tmp_close_declaration((T325*)(oBC13cpp));
  740. }
  741. /*FI]*/
  742. }
  743. /*FI]*/
  744. _i=(_i)+(1);
  745. }
  746. /*[IF*/
  747. if(((/*RF2*/(C)->_run_feature/*20*/))==((void*)(NULL))){
  748. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms103_19791));
  749. /*]*/
  750. }
  751. else{
  752. /*SSPRF3*//*X334c_assertion_flag*/r368c_assertion_flag((T368*)((/*RF2*/(C)->_run_feature/*20*/)));
  753. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms103_2184));
  754. /*]*/
  755. }
  756. /*FI]*/
  757. }
  758. /*FI]*/
  759. }
  760.  
  761.  
  762. T6 r286use_current(T286* C){
  763. T6 R=0;
  764. T2 _i=0;
  765. /*[IF*/
  766. if(((/*RF2*/(C)->_list/*12*/))!=((void*)(NULL))){
  767. _i=(/*RF2*/((T101*)((/*RF2*/(C)->_list/*12*/)))->_upper/*8*/);
  768. while (!((R)||((_i)==(0))))
  769. {
  770. R=r100use_current((T100*)(r101item((T101*)((/*RF2*/(C)->_list/*12*/)),_i)));
  771. _i=(_i)-(1);
  772. }
  773. }
  774. /*FI]*/
  775. return R;
  776. }
  777.  
  778.  
  779. void r286make_runnable(T286* C,T68 a1,T0* a2,T0* a3,T0* a4){
  780. (/*SFN*/C->_start_position)=a1;
  781. (/*SFN*/C->_list)=a2;
  782. (/*SFN*/C->_current_type)=a3;
  783. (/*SFN*/C->_run_feature)=a4;
  784. }
  785.  
  786.  
  787. T0* r277generic_list(T277* C){
  788. T0* R=NULL;
  789. r277fatal_error_generic_list(C);
  790. return R;
  791. }
  792.  
  793.  
  794. void r277standard_c_print_function(T277* C){
  795. /*[IF*/
  796. if(r47no_check((T47*)(oBC13run_control))){
  797. r50c_print_function((T50*)(r277run_class(C)));
  798. }
  799. /*FI]*/
  800. }
  801.  
  802.  
  803. T2 r277id(T277* C){
  804. T2 R=0;
  805. R=(/*RF2*/((T50*)(r277run_class(C)))->_id/*4*/);
  806. return R;
  807. }
  808.  
  809.  
  810. void r277c_header_pass1(T277* C){
  811. T2 _i=0;
  812. T2 _mem_id=0;
  813. _mem_id=r277id(C);
  814. {int z1=r277mapping_code(C);
  815.  
  816. if(((4<=z1)&&(z1<=5))){
  817. r7copy((T7*)(((T0*)ms52_783104)),((T0*)ms14_6448));
  818. r7append((T7*)(((T0*)ms52_783104)),((T0*)ms14_10800));
  819. r7extend((T7*)(((T0*)ms52_783104)),((T3)'\40'));
  820. /*[IF*/
  821. if((r277mapping_code(C))==(4)){
  822. r7append((T7*)(((T0*)ms52_783104)),((T0*)ms14_1656));
  823. }
  824. else{
  825. r7append((T7*)(((T0*)ms52_783104)),((T0*)ms14_993));
  826. }
  827. /*FI]*/
  828. r7extend((T7*)(((T0*)ms52_783104)),((T3)'\40'));
  829. r7extend((T7*)(((T0*)ms52_783104)),((T3)'T'));
  830. r2append_in(_mem_id,((T0*)ms52_783104));
  831. r7append((T7*)(((T0*)ms52_783104)),((T0*)ms14_138));
  832. }
  833.  else {r7copy((T7*)(((T0*)ms52_783104)),((T0*)ms14_5495));
  834. r7extend((T7*)(((T0*)ms52_783104)),((T3)'S'));
  835. r2append_in(_mem_id,((T0*)ms52_783104));
  836. r7extend((T7*)(((T0*)ms52_783104)),((T3)'\173'));
  837. _i=r277nb_unsigned(C);
  838. while (!((_i)==(0)))
  839. {
  840. r7append((T7*)(((T0*)ms52_783104)),((T0*)ms276_40851));
  841. r2append_in(_i,((T0*)ms52_783104));
  842. r7extend((T7*)(((T0*)ms52_783104)),((T3)'\73'));
  843. _i=(_i)-(1);
  844. }
  845. r7append((T7*)(((T0*)ms52_783104)),((T0*)ms276_38152));
  846. r2append_in(_mem_id,((T0*)ms52_783104));
  847. r7extend((T7*)(((T0*)ms52_783104)),((T3)'\40'));
  848. r7extend((T7*)(((T0*)ms52_783104)),((T3)'T'));
  849. r2append_in(_mem_id,((T0*)ms52_783104));
  850. r7append((T7*)(((T0*)ms52_783104)),((T0*)ms14_138));
  851. }}
  852. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms52_783104));
  853. /*]*/
  854. }
  855.  
  856.  
  857. void r277gc_call_new_in(T277* C,T0* a1){
  858. r7append(((T7*)a1),((T0*)ms14_990));
  859. r2append_in(r277id(C),a1);
  860. r7extend(((T7*)a1),((T3)'\50'));
  861. r7extend(((T7*)a1),((T3)'\51'));
  862. }
  863.  
  864.  
  865. T0* r277base_class(T277* C){
  866. T0* R=NULL;
  867. T0* _bcn=NULL;
  868. _bcn=r277base_class_name();
  869. /*[IF*/
  870. if((_bcn)!=((void*)(NULL))){
  871. R=r61base_class(((T61*)_bcn));
  872. }
  873. else{
  874. /*[IRF3.6append*/{T0* b1=((T0*)ms52_36693);
  875. r7append((T7*)(oBC66explanation),b1);
  876. }/*]*/
  877. r66add_type((T0*)C,((T0*)ms14_46));
  878. r66print_as_fatal_error((T66*)(oBC13eh));
  879. }
  880. /*FI]*/
  881. return R;
  882. }
  883.  
  884.  
  885. T0* r277look_up_for(T277* C,T0* a1,T0* a2){
  886. T0* R=NULL;
  887. R=r51look_up_for((T51*)(r277base_class(C)),a1,a2);
  888. return R;
  889. }
  890.  
  891.  
  892. T2 r277c_sizeof(T277* C){
  893. T2 R=0;
  894. R=(r277nb_unsigned(C))*((EIF_INTEGER_BITS)/(EIF_CHARACTER_BITS));
  895. return R;
  896. }
  897.  
  898.  
  899. T6 r277need_c_struct(T277* C){
  900. T6 R=0;
  901. R=(r277mapping_code(C))==(6);
  902. return R;
  903. }
  904.  
  905.  
  906. void r277mapping_cast(T277* C){
  907. /*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms52_15456)))))->_count)=(0);
  908. /*]*/
  909. r7extend((T7*)(((T0*)ms52_15456)),((T3)'\50'));
  910. r277c_type_for_target_in(C,((T0*)ms52_15456));
  911. r7extend((T7*)(((T0*)ms52_15456)),((T3)'\51'));
  912. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms52_15456));
  913. /*]*/
  914. }
  915.  
  916.  
  917. T0* r277actual_reference(T277* C,T0* a1){
  918. T0* R=NULL;
  919. T68 _sp={NULL,0};
  920. {T68 se_tmp0;
  921. _sp=(*(se_tmp0=X52start_position(a1),&se_tmp0));
  922. }
  923. {T390*n=((T390*)malloc(sizeof(*n))/*20*/);
  924. *n=M390;
  925. r390from_type_bit(n,_sp,(T0*)C);
  926. R=((T0*)n);
  927. }
  928. return R;
  929. }
  930.  
  931.  
  932. T6 r277is_a_in(T277* C,T0* a1,T0* a2){
  933. T6 R=0;
  934. T0* _ct=NULL;
  935. T0* _t2=NULL;
  936. T0* _t1=NULL;
  937. /*[IF*/
  938. if(((/*RF2*/(C)->_written_mark/*12*/))==((void*)(X52written_mark(a1)))){
  939. R=1;
  940. }
  941. else{
  942. _ct=(/*RF2*/(((T50*)a2))->_current_type/*0*/);
  943. _t1=r277to_runnable(C,_ct);
  944. _t2=X52to_runnable(a1,_ct);
  945. /*[IF*/
  946. if((X52run_time_mark(_t1))==((void*)(X52run_time_mark(_t2)))){
  947. R=1;
  948. }
  949. else{
  950. R=X52is_a(_t1,_t2);
  951. }
  952. /*FI]*/
  953. }
  954. /*FI]*/
  955. return R;
  956. }
  957.  
  958.  
  959. T6 r277is_native_array(T277* C){
  960. T6 R=0;
  961. T0* _tna=NULL;
  962. _tna=NULL;
  963. R=(_tna)!=((void*)(NULL));
  964. return R;
  965. }
  966.  
  967.  
  968. T6 r277is_a(T277* C,T0* a1){
  969. T6 R=0;
  970. T0* _other_bit=NULL;
  971. /*[IF*/
  972. if(X52is_bit(a1)){
  973. _other_bit=X52run_type(a1);
  974. if(NULL!=(_other_bit)){
  975. switch(((T0*)_other_bit)->id){
  976. case 275:case 277:
  977. break;
  978. default:
  979. _other_bit=NULL;
  980. }
  981. }/*[IF*/
  982. if((/*(IRF4.6nb*//*(IRF4.6nb*/(/*RF2*/(((T165*)((/*RF2*/(((T275*)((/*RF2*/(C)->_run_type/*20*/))))->_n/*16*/))))->_value/*12*/)/*)*//*)*/)<=(X276nb(_other_bit))){
  983. R=1;
  984. }
  985. else{
  986. r66add_type((T0*)C,((T0*)ms14_17460));
  987. r66add_type(a1,((T0*)ms276_7630));
  988. }
  989. /*FI]*/
  990. }
  991.  else if(r51is_subclass_of((T51*)(r277base_class(C)),X52base_class(a1))){
  992. R=1;
  993. }
  994. else{
  995. r66add_type((T0*)C,((T0*)ms14_17460));
  996. r66add_type(a1,((T0*)ms14_46));
  997. }
  998. /*FI]*/
  999. return R;
  1000. }
  1001.  
  1002.  
  1003. void r277make(T277* C,T68 a1,T0* a2){
  1004. r7copy((T7*)(((T0*)ms52_783104)),((T0*)ms15_669));
  1005. r7extend((T7*)(((T0*)ms52_783104)),((T3)'\40'));
  1006. r7append((T7*)(((T0*)ms52_783104)),(/*RF2*/(((T138*)a2))->_to_string/*12*/));
  1007. (/*SFN*/C->_written_mark)=((/*UT*/(void)((T21*)(r277string_aliaser()))),r21item(((T0*)ms52_783104)));
  1008. (/*SFN*/C->_start_position)=a1;
  1009. (/*SFN*/C->_n)=a2;
  1010. }
  1011.  
  1012.  
  1013. T6 r277is_c_unsigned_ptr(T277* C){
  1014. T6 R=0;
  1015. R=(6)==(r277mapping_code(C));
  1016. return R;
  1017. }
  1018.  
  1019.  
  1020. void r277fatal_error_generic_list(T277* C){
  1021. r66add_type((T0*)C,((T0*)ms52_28899));
  1022. r66print_as_fatal_error((T66*)(oBC13eh));
  1023. }
  1024.  
  1025.  
  1026. T0* r277type_any(void){
  1027. if(fBC13type_any==0){fBC13type_any=1;{
  1028. T68 _unknown_position={NULL,0};
  1029. {T259*n=((T259*)malloc(sizeof(*n))/*8*/);
  1030. *n=M259;
  1031. oBC13type_any=((T0*)n);
  1032. r259make(n,_unknown_position);
  1033. }
  1034. }}
  1035. return oBC13type_any;
  1036. }
  1037.  
  1038.  
  1039. void r277c_initialize_in(T277* C,T0* a1){
  1040. T2 _i=0;
  1041. /*[IF*/
  1042. if((r277mapping_code(C))==(6)){
  1043. r7extend(((T7*)a1),((T3)'\173'));
  1044. _i=r277nb_unsigned(C);
  1045. while (!((_i)==(0)))
  1046. {
  1047. r7extend(((T7*)a1),((T3)'0'));
  1048. _i=(_i)-(1);
  1049. /*[IF*/
  1050. if((_i)>(0)){
  1051. r7extend(((T7*)a1),((T3)'\54'));
  1052. }
  1053. /*FI]*/
  1054. }
  1055. r7extend(((T7*)a1),((T3)'\175'));
  1056. }
  1057. else{
  1058. r7extend(((T7*)a1),((T3)'0'));
  1059. }
  1060. /*FI]*/
  1061. }
  1062.  
  1063.  
  1064. T0* r277smallest_ancestor(T277* C,T0* a1){
  1065. T0* R=NULL;
  1066. T0* _other_bit=NULL;
  1067. _other_bit=X52run_type(a1);
  1068. if(NULL!=(_other_bit)){
  1069. switch(((T0*)_other_bit)->id){
  1070. case 275:case 277:
  1071. break;
  1072. default:
  1073. _other_bit=NULL;
  1074. }
  1075. }/*[IF*/
  1076. if((_other_bit)!=((void*)(NULL))){
  1077. /*[IF*/
  1078. if((/*(IRF4.6nb*//*(IRF4.6nb*/(/*RF2*/(((T165*)((/*RF2*/(((T275*)((/*RF2*/(C)->_run_type/*20*/))))->_n/*16*/))))->_value/*12*/)/*)*//*)*/)<(X276nb(_other_bit))){
  1079. R=((T0*)(C));
  1080. }
  1081. else{
  1082. R=_other_bit;
  1083. }
  1084. /*FI]*/
  1085. }
  1086. else{
  1087. R=r277type_any();
  1088. }
  1089. /*FI]*/
  1090. return R;
  1091. }
  1092.  
  1093.  
  1094. T2 r277unsigned_padding(T277* C){
  1095. T2 R=0;
  1096. R=((r277nb_unsigned(C))*(EIF_INTEGER_BITS))-(/*(IRF4.6nb*//*(IRF4.6nb*/(/*RF2*/(((T165*)((/*RF2*/(((T275*)((/*RF2*/(C)->_run_type/*20*/))))->_n/*16*/))))->_value/*12*/)/*)*//*)*/);
  1097. return R;
  1098. }
  1099.  
  1100.  
  1101. T2 r277mapping_code(T277* C){
  1102. T2 R=0;
  1103. /*[IF*/
  1104. if((/*(IRF4.6nb*//*(IRF4.6nb*/(/*RF2*/(((T165*)((/*RF2*/(((T275*)((/*RF2*/(C)->_run_type/*20*/))))->_n/*16*/))))->_value/*12*/)/*)*//*)*/)<=(EIF_CHARACTER_BITS)){
  1105. R=4;
  1106. }
  1107.  else if((/*(IRF4.6nb*//*(IRF4.6nb*/(/*RF2*/(((T165*)((/*RF2*/(((T275*)((/*RF2*/(C)->_run_type/*20*/))))->_n/*16*/))))->_value/*12*/)/*)*//*)*/)<=(EIF_INTEGER_BITS)){
  1108. R=5;
  1109. }
  1110. else{
  1111. R=6;
  1112. }
  1113. /*FI]*/
  1114. return R;
  1115. }
  1116.  
  1117.  
  1118. T0* r277string_aliaser(void){
  1119. if(fBC13string_aliaser==0){fBC13string_aliaser=1;{
  1120. {T21*n=((T21*)malloc(1));
  1121. oBC13string_aliaser=((T0*)n);
  1122. /*[IRF3.2make*//*[IRF3.6add1*/{T0* b1=((T0*)ms15_696);
  1123. r23put((T23*)(oBC21memory),b1,b1);
  1124. }/*]*/
  1125. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1915);
  1126. r23put((T23*)(oBC21memory),b1,b1);
  1127. }/*]*/
  1128. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_669);
  1129. r23put((T23*)(oBC21memory),b1,b1);
  1130. }/*]*/
  1131. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1980);
  1132. r23put((T23*)(oBC21memory),b1,b1);
  1133. }/*]*/
  1134. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_9234);
  1135. r23put((T23*)(oBC21memory),b1,b1);
  1136. }/*]*/
  1137. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_6405);
  1138. r23put((T23*)(oBC21memory),b1,b1);
  1139. }/*]*/
  1140. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12529);
  1141. r23put((T23*)(oBC21memory),b1,b1);
  1142. }/*]*/
  1143. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_9801);
  1144. r23put((T23*)(oBC21memory),b1,b1);
  1145. }/*]*/
  1146. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_16393);
  1147. r23put((T23*)(oBC21memory),b1,b1);
  1148. }/*]*/
  1149. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12550);
  1150. r23put((T23*)(oBC21memory),b1,b1);
  1151. }/*]*/
  1152. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_4728);
  1153. r23put((T23*)(oBC21memory),b1,b1);
  1154. }/*]*/
  1155. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_10740);
  1156. r23put((T23*)(oBC21memory),b1,b1);
  1157. }/*]*/
  1158. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12030);
  1159. r23put((T23*)(oBC21memory),b1,b1);
  1160. }/*]*/
  1161. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_14817);
  1162. r23put((T23*)(oBC21memory),b1,b1);
  1163. }/*]*/
  1164. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_6307);
  1165. r23put((T23*)(oBC21memory),b1,b1);
  1166. }/*]*/
  1167. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_6643);
  1168. r23put((T23*)(oBC21memory),b1,b1);
  1169. }/*]*/
  1170. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12595);
  1171. r23put((T23*)(oBC21memory),b1,b1);
  1172. }/*]*/
  1173. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_5508);
  1174. r23put((T23*)(oBC21memory),b1,b1);
  1175. }/*]*/
  1176. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_17448);
  1177. r23put((T23*)(oBC21memory),b1,b1);
  1178. }/*]*/
  1179. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1216);
  1180. r23put((T23*)(oBC21memory),b1,b1);
  1181. }/*]*/
  1182. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_7928);
  1183. r23put((T23*)(oBC21memory),b1,b1);
  1184. }/*]*/
  1185. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_6776);
  1186. r23put((T23*)(oBC21memory),b1,b1);
  1187. }/*]*/
  1188. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12804);
  1189. r23put((T23*)(oBC21memory),b1,b1);
  1190. }/*]*/
  1191. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1168);
  1192. r23put((T23*)(oBC21memory),b1,b1);
  1193. }/*]*/
  1194. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_7576);
  1195. r23put((T23*)(oBC21memory),b1,b1);
  1196. }/*]*/
  1197. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_4956);
  1198. r23put((T23*)(oBC21memory),b1,b1);
  1199. }/*]*/
  1200. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_16692);
  1201. r23put((T23*)(oBC21memory),b1,b1);
  1202. }/*]*/
  1203. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_19124);
  1204. r23put((T23*)(oBC21memory),b1,b1);
  1205. }/*]*/
  1206. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_921);
  1207. r23put((T23*)(oBC21memory),b1,b1);
  1208. }/*]*/
  1209. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_10680);
  1210. r23put((T23*)(oBC21memory),b1,b1);
  1211. }/*]*/
  1212. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_64);
  1213. r23put((T23*)(oBC21memory),b1,b1);
  1214. }/*]*/
  1215. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_368);
  1216. r23put((T23*)(oBC21memory),b1,b1);
  1217. }/*]*/
  1218. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_61);
  1219. r23put((T23*)(oBC21memory),b1,b1);
  1220. }/*]*/
  1221. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_246);
  1222. r23put((T23*)(oBC21memory),b1,b1);
  1223. }/*]*/
  1224. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_62);
  1225. r23put((T23*)(oBC21memory),b1,b1);
  1226. }/*]*/
  1227. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_9408);
  1228. r23put((T23*)(oBC21memory),b1,b1);
  1229. }/*]*/
  1230. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_242);
  1231. r23put((T23*)(oBC21memory),b1,b1);
  1232. }/*]*/
  1233. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_60);
  1234. r23put((T23*)(oBC21memory),b1,b1);
  1235. }/*]*/
  1236. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_45);
  1237. r23put((T23*)(oBC21memory),b1,b1);
  1238. }/*]*/
  1239. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_42);
  1240. r23put((T23*)(oBC21memory),b1,b1);
  1241. }/*]*/
  1242. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_216);
  1243. r23put((T23*)(oBC21memory),b1,b1);
  1244. }/*]*/
  1245. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1011);
  1246. r23put((T23*)(oBC21memory),b1,b1);
  1247. }/*]*/
  1248. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_450);
  1249. r23put((T23*)(oBC21memory),b1,b1);
  1250. }/*]*/
  1251. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_8211);
  1252. r23put((T23*)(oBC21memory),b1,b1);
  1253. }/*]*/
  1254. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_43);
  1255. r23put((T23*)(oBC21memory),b1,b1);
  1256. }/*]*/
  1257. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_94);
  1258. r23put((T23*)(oBC21memory),b1,b1);
  1259. }/*]*/
  1260. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_552);
  1261. r23put((T23*)(oBC21memory),b1,b1);
  1262. }/*]*/
  1263. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_564);
  1264. r23put((T23*)(oBC21memory),b1,b1);
  1265. }/*]*/
  1266. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_47);
  1267. r23put((T23*)(oBC21memory),b1,b1);
  1268. }/*]*/
  1269. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_188);
  1270. r23put((T23*)(oBC21memory),b1,b1);
  1271. }/*]*/
  1272. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_35);
  1273. r23put((T23*)(oBC21memory),b1,b1);
  1274. }/*]*/
  1275. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1035a);
  1276. r23put((T23*)(oBC21memory),b1,b1);
  1277. }/*]*/
  1278. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_11424);
  1279. r23put((T23*)(oBC21memory),b1,b1);
  1280. }/*]*/
  1281. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2600);
  1282. r23put((T23*)(oBC21memory),b1,b1);
  1283. }/*]*/
  1284. r21add2(((T0*)ms15_22524));
  1285. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_6702);
  1286. r23put((T23*)(oBC21memory),b1,b1);
  1287. }/*]*/
  1288. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_11776);
  1289. r23put((T23*)(oBC21memory),b1,b1);
  1290. }/*]*/
  1291. r21add2(((T0*)ms15_29246));
  1292. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13419);
  1293. r23put((T23*)(oBC21memory),b1,b1);
  1294. }/*]*/
  1295. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2765a);
  1296. r23put((T23*)(oBC21memory),b1,b1);
  1297. }/*]*/
  1298. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1644);
  1299. r23put((T23*)(oBC21memory),b1,b1);
  1300. }/*]*/
  1301. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_19294);
  1302. r23put((T23*)(oBC21memory),b1,b1);
  1303. }/*]*/
  1304. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1772);
  1305. r23put((T23*)(oBC21memory),b1,b1);
  1306. }/*]*/
  1307. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_15070);
  1308. r23put((T23*)(oBC21memory),b1,b1);
  1309. }/*]*/
  1310. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_15570);
  1311. r23put((T23*)(oBC21memory),b1,b1);
  1312. }/*]*/
  1313. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_27034);
  1314. r23put((T23*)(oBC21memory),b1,b1);
  1315. }/*]*/
  1316. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_15190);
  1317. r23put((T23*)(oBC21memory),b1,b1);
  1318. }/*]*/
  1319. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_15890);
  1320. r23put((T23*)(oBC21memory),b1,b1);
  1321. }/*]*/
  1322. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_19151);
  1323. r23put((T23*)(oBC21memory),b1,b1);
  1324. }/*]*/
  1325. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13491);
  1326. r23put((T23*)(oBC21memory),b1,b1);
  1327. }/*]*/
  1328. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_28490);
  1329. r23put((T23*)(oBC21memory),b1,b1);
  1330. }/*]*/
  1331. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_8750);
  1332. r23put((T23*)(oBC21memory),b1,b1);
  1333. }/*]*/
  1334. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_19437);
  1335. r23put((T23*)(oBC21memory),b1,b1);
  1336. }/*]*/
  1337. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_22824a);
  1338. r23put((T23*)(oBC21memory),b1,b1);
  1339. }/*]*/
  1340. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_23829);
  1341. r23put((T23*)(oBC21memory),b1,b1);
  1342. }/*]*/
  1343. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_27272);
  1344. r23put((T23*)(oBC21memory),b1,b1);
  1345. }/*]*/
  1346. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_10528);
  1347. r23put((T23*)(oBC21memory),b1,b1);
  1348. }/*]*/
  1349. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13707);
  1350. r23put((T23*)(oBC21memory),b1,b1);
  1351. }/*]*/
  1352. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_6846);
  1353. r23put((T23*)(oBC21memory),b1,b1);
  1354. }/*]*/
  1355. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1664);
  1356. r23put((T23*)(oBC21memory),b1,b1);
  1357. }/*]*/
  1358. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2760);
  1359. r23put((T23*)(oBC21memory),b1,b1);
  1360. }/*]*/
  1361. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2730a);
  1362. r23put((T23*)(oBC21memory),b1,b1);
  1363. }/*]*/
  1364. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_22248);
  1365. r23put((T23*)(oBC21memory),b1,b1);
  1366. }/*]*/
  1367. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_22788);
  1368. r23put((T23*)(oBC21memory),b1,b1);
  1369. }/*]*/
  1370. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_30660);
  1371. r23put((T23*)(oBC21memory),b1,b1);
  1372. }/*]*/
  1373. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13995);
  1374. r23put((T23*)(oBC21memory),b1,b1);
  1375. }/*]*/
  1376. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_432);
  1377. r23put((T23*)(oBC21memory),b1,b1);
  1378. }/*]*/
  1379. r21add2(((T0*)ms15_22596));
  1380. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_60104);
  1381. r23put((T23*)(oBC21memory),b1,b1);
  1382. }/*]*/
  1383. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_24960);
  1384. r23put((T23*)(oBC21memory),b1,b1);
  1385. }/*]*/
  1386. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_34432);
  1387. r23put((T23*)(oBC21memory),b1,b1);
  1388. }/*]*/
  1389. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_11144);
  1390. r23put((T23*)(oBC21memory),b1,b1);
  1391. }/*]*/
  1392. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_18964);
  1393. r23put((T23*)(oBC21memory),b1,b1);
  1394. }/*]*/
  1395. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1724);
  1396. r23put((T23*)(oBC21memory),b1,b1);
  1397. }/*]*/
  1398. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1744);
  1399. r23put((T23*)(oBC21memory),b1,b1);
  1400. }/*]*/
  1401. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2765);
  1402. r23put((T23*)(oBC21memory),b1,b1);
  1403. }/*]*/
  1404. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_6762);
  1405. r23put((T23*)(oBC21memory),b1,b1);
  1406. }/*]*/
  1407. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1656);
  1408. r23put((T23*)(oBC21memory),b1,b1);
  1409. }/*]*/
  1410. r21add2(((T0*)ms15_60016));
  1411. r21add2(((T0*)ms15_26880));
  1412. r21add2(((T0*)ms15_33240));
  1413. r21add2(((T0*)ms15_21624));
  1414. r21add2(((T0*)ms15_60060));
  1415. r21add2(((T0*)ms15_26908));
  1416. r21add2(((T0*)ms15_33270));
  1417. r21add2(((T0*)ms15_21648));
  1418. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_17886);
  1419. r23put((T23*)(oBC21memory),b1,b1);
  1420. }/*]*/
  1421. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_22824);
  1422. r23put((T23*)(oBC21memory),b1,b1);
  1423. }/*]*/
  1424. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_21192);
  1425. r23put((T23*)(oBC21memory),b1,b1);
  1426. }/*]*/
  1427. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2785);
  1428. r23put((T23*)(oBC21memory),b1,b1);
  1429. }/*]*/
  1430. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_11496);
  1431. r23put((T23*)(oBC21memory),b1,b1);
  1432. }/*]*/
  1433. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_53940);
  1434. r23put((T23*)(oBC21memory),b1,b1);
  1435. }/*]*/
  1436. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1035);
  1437. r23put((T23*)(oBC21memory),b1,b1);
  1438. }/*]*/
  1439. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2440);
  1440. r23put((T23*)(oBC21memory),b1,b1);
  1441. }/*]*/
  1442. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2445);
  1443. r23put((T23*)(oBC21memory),b1,b1);
  1444. }/*]*/
  1445. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_32730);
  1446. r23put((T23*)(oBC21memory),b1,b1);
  1447. }/*]*/
  1448. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12744);
  1449. r23put((T23*)(oBC21memory),b1,b1);
  1450. }/*]*/
  1451. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13662);
  1452. r23put((T23*)(oBC21memory),b1,b1);
  1453. }/*]*/
  1454. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_8547);
  1455. r23put((T23*)(oBC21memory),b1,b1);
  1456. }/*]*/
  1457. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_8505);
  1458. r23put((T23*)(oBC21memory),b1,b1);
  1459. }/*]*/
  1460. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_9436);
  1461. r23put((T23*)(oBC21memory),b1,b1);
  1462. }/*]*/
  1463. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_14193);
  1464. r23put((T23*)(oBC21memory),b1,b1);
  1465. }/*]*/
  1466. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12915a);
  1467. r23put((T23*)(oBC21memory),b1,b1);
  1468. }/*]*/
  1469. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12915);
  1470. r23put((T23*)(oBC21memory),b1,b1);
  1471. }/*]*/
  1472. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_34528);
  1473. r23put((T23*)(oBC21memory),b1,b1);
  1474. }/*]*/
  1475. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13752);
  1476. r23put((T23*)(oBC21memory),b1,b1);
  1477. }/*]*/
  1478. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_11336);
  1479. r23put((T23*)(oBC21memory),b1,b1);
  1480. }/*]*/
  1481. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_26156);
  1482. r23put((T23*)(oBC21memory),b1,b1);
  1483. }/*]*/
  1484. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_11376);
  1485. r23put((T23*)(oBC21memory),b1,b1);
  1486. }/*]*/
  1487. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_27580);
  1488. r23put((T23*)(oBC21memory),b1,b1);
  1489. }/*]*/
  1490. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_33990);
  1491. r23put((T23*)(oBC21memory),b1,b1);
  1492. }/*]*/
  1493. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_27443);
  1494. r23put((T23*)(oBC21memory),b1,b1);
  1495. }/*]*/
  1496. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_40358);
  1497. r23put((T23*)(oBC21memory),b1,b1);
  1498. }/*]*/
  1499. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_25584);
  1500. r23put((T23*)(oBC21memory),b1,b1);
  1501. }/*]*/
  1502. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_7380);
  1503. r23put((T23*)(oBC21memory),b1,b1);
  1504. }/*]*/
  1505. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2730);
  1506. r23put((T23*)(oBC21memory),b1,b1);
  1507. }/*]*/
  1508. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_7530);
  1509. r23put((T23*)(oBC21memory),b1,b1);
  1510. }/*]*/
  1511. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13977);
  1512. r23put((T23*)(oBC21memory),b1,b1);
  1513. }/*]*/
  1514. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_14175);
  1515. r23put((T23*)(oBC21memory),b1,b1);
  1516. }/*]*/
  1517. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_16970);
  1518. r23put((T23*)(oBC21memory),b1,b1);
  1519. }/*]*/
  1520. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_8820);
  1521. r23put((T23*)(oBC21memory),b1,b1);
  1522. }/*]*/
  1523. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_7326);
  1524. r23put((T23*)(oBC21memory),b1,b1);
  1525. }/*]*/
  1526. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_22716);
  1527. r23put((T23*)(oBC21memory),b1,b1);
  1528. }/*]*/
  1529. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12978);
  1530. r23put((T23*)(oBC21memory),b1,b1);
  1531. }/*]*/
  1532. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_16770);
  1533. r23put((T23*)(oBC21memory),b1,b1);
  1534. }/*]*/
  1535. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_16850);
  1536. r23put((T23*)(oBC21memory),b1,b1);
  1537. }/*]*/
  1538. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_9051);
  1539. r23put((T23*)(oBC21memory),b1,b1);
  1540. }/*]*/
  1541. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_21300);
  1542. r23put((T23*)(oBC21memory),b1,b1);
  1543. }/*]*/
  1544. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_56720);
  1545. r23put((T23*)(oBC21memory),b1,b1);
  1546. }/*]*/
  1547. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1800);
  1548. r23put((T23*)(oBC21memory),b1,b1);
  1549. }/*]*/
  1550. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2780);
  1551. r23put((T23*)(oBC21memory),b1,b1);
  1552. }/*]*/
  1553. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_27456);
  1554. r23put((T23*)(oBC21memory),b1,b1);
  1555. }/*]*/
  1556. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_15650);
  1557. r23put((T23*)(oBC21memory),b1,b1);
  1558. }/*]*/
  1559. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_9275);
  1560. r23put((T23*)(oBC21memory),b1,b1);
  1561. }/*]*/
  1562. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_58075);
  1563. r23put((T23*)(oBC21memory),b1,b1);
  1564. }/*]*/
  1565. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_22140);
  1566. r23put((T23*)(oBC21memory),b1,b1);
  1567. }/*]*/
  1568. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13833);
  1569. r23put((T23*)(oBC21memory),b1,b1);
  1570. }/*]*/
  1571. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_7314);
  1572. r23put((T23*)(oBC21memory),b1,b1);
  1573. }/*]*/
  1574. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1608);
  1575. r23put((T23*)(oBC21memory),b1,b1);
  1576. }/*]*/
  1577. /*]*/
  1578. }
  1579. }}
  1580. return oBC13string_aliaser;
  1581. }
  1582.  
  1583.  
  1584. T0* r277to_runnable(T277* C,T0* a1){
  1585. T0* R=NULL;
  1586. T2 _nb_value=0;
  1587. T0* _ic=NULL;
  1588. T0* _rf8=NULL;
  1589. T0* _rf1=NULL;
  1590. T0* _rf=NULL;
  1591. /*[IF*/
  1592. if(((/*RF2*/(C)->_run_type/*20*/))==((void*)(NULL))){
  1593. _rf=r138run_feature((T138*)((/*RF2*/(C)->_n/*16*/)),a1);
  1594. /*[IF*/
  1595. if((_rf)==((void*)(NULL))){
  1596. r66feature_not_found((/*RF2*/(C)->_n/*16*/));
  1597. r66print_as_fatal_error((T66*)(oBC13eh));
  1598. }
  1599. else{
  1600. _rf1=_rf;
  1601. if(NULL!=(_rf1)){
  1602. switch(((T0*)_rf1)->id){
  1603. case 388:
  1604. break;
  1605. default:
  1606. _rf1=NULL;
  1607. }
  1608. }_rf8=_rf;
  1609. if(NULL!=(_rf8)){
  1610. switch(((T0*)_rf8)->id){
  1611. case 333:
  1612. break;
  1613. default:
  1614. _rf8=NULL;
  1615. }
  1616. }/*[IF*/
  1617. if((_rf1)!=((void*)(NULL))){
  1618. _ic=X199value((/*RF2*/(((T388*)_rf1))->_base_feature/*24*/),1);
  1619. if(NULL!=(_ic)){
  1620. switch(((T0*)_ic)->id){
  1621. case 165:
  1622. break;
  1623. default:
  1624. _ic=NULL;
  1625. }
  1626. }/*[IF*/
  1627. if((_ic)==((void*)(NULL))){
  1628. r66add_position((/*RF2*/((T138*)((/*RF2*/(C)->_n/*16*/)))->_start_position/*4*/));
  1629. {T68 se_tmp0;
  1630. r66add_position((*(se_tmp0=r388start_position(((T388*)_rf1)),&se_tmp0)));
  1631. }
  1632. r277fatal_error(((T0*)ms14_45441));
  1633. }
  1634. /*FI]*/
  1635. _nb_value=(/*RF2*/(((T165*)_ic))->_value/*12*/);
  1636. /*[IF*/
  1637. if((_nb_value)<(0)){
  1638. r66add_position((/*RF2*/((T138*)((/*RF2*/(C)->_n/*16*/)))->_start_position/*4*/));
  1639. {T68 se_tmp0;
  1640. r66add_position((*(se_tmp0=r388start_position(((T388*)_rf1)),&se_tmp0)));
  1641. }
  1642. r277fatal_error(((T0*)ms277_45873));
  1643. }
  1644. /*FI]*/
  1645. {T275*n=((T275*)malloc(sizeof(*n))/*20*/);
  1646. *n=M275;
  1647. r275make(n,(/*RF2*/(C)->_start_position/*4*/),_ic);
  1648. (/*SFN*/C->_run_type)=((T0*)n);
  1649. }
  1650. }
  1651.  else if((_rf8)!=((void*)(NULL))){
  1652. _nb_value=r333integer_value(((T333*)_rf8),(/*RF2*/((T138*)((/*RF2*/(C)->_n/*16*/)))->_start_position/*4*/));
  1653. {T165*n=((T165*)malloc(sizeof(*n))/*16*/);
  1654. *n=M165;
  1655. r165make(n,_nb_value,(/*RF2*/((T138*)((/*RF2*/(C)->_n/*16*/)))->_start_position/*4*/));
  1656. _ic=((T0*)n);
  1657. }
  1658. {T275*n=((T275*)malloc(sizeof(*n))/*20*/);
  1659. *n=M275;
  1660. r275make(n,(/*RF2*/(C)->_start_position/*4*/),_ic);
  1661. (/*SFN*/C->_run_type)=((T0*)n);
  1662. }
  1663. }
  1664. else{
  1665. r66add_position((/*RF2*/((T138*)((/*RF2*/(C)->_n/*16*/)))->_start_position/*4*/));
  1666. {T68 se_tmp0;
  1667. r66add_position((*(se_tmp0=X334start_position(_rf),&se_tmp0)));
  1668. }
  1669. r277fatal_error(((T0*)ms14_45441));
  1670. }
  1671. /*FI]*/
  1672. R=((T0*)(C));
  1673. r277to_runnable_1_2(C);
  1674. }
  1675. /*FI]*/
  1676. }
  1677. else{
  1678. {T277*n=((T277*)malloc(sizeof(*n))/*24*/);
  1679. *n=M277;
  1680. r277make(n,(/*RF2*/(C)->_start_position/*4*/),(/*RF2*/(C)->_n/*16*/));
  1681. R=((T0*)n);
  1682. }
  1683. R=r277to_runnable(((T277*)R),a1);
  1684. }
  1685. /*FI]*/
  1686. return R;
  1687. }
  1688.  
  1689.  
  1690. T2 r277nb_unsigned(T277* C){
  1691. T2 R=0;
  1692. T2 _ib=0;
  1693. _ib=EIF_INTEGER_BITS;
  1694. R=(/*(IRF4.6nb*//*(IRF4.6nb*/(/*RF2*/(((T165*)((/*RF2*/(((T275*)((/*RF2*/(C)->_run_type/*20*/))))->_n/*16*/))))->_value/*12*/)/*)*//*)*/)/(_ib);
  1695. /*[IF*/
  1696. if(((/*(IRF4.6nb*//*(IRF4.6nb*/(/*RF2*/(((T165*)((/*RF2*/(((T275*)((/*RF2*/(C)->_run_type/*20*/))))->_n/*16*/))))->_value/*12*/)/*)*//*)*/)%(_ib))>(0)){
  1697. R=(R)+(1);
  1698. }
  1699. /*FI]*/
  1700. return R;
  1701. }
  1702.  
  1703.  
  1704. void r277id_extra_information(T0* a1){
  1705. r48put_string(((T48*)a1),((T0*)ms52_9724));
  1706. /*[IF*/
  1707. /*AF*//*AE*/
  1708. r48put_string(((T48*)a1),((T0*)ms52_759));
  1709. /*FI]*/
  1710. }
  1711.  
  1712.  
  1713. void r277gc_mark_in(T277* C,T0* a1){
  1714. r7append(((T7*)a1),((T0*)ms14_8764));
  1715. r2append_in(r277id(C),a1);
  1716. }
  1717.  
  1718.  
  1719. void r277c_type_for_external_in(T277* C,T0* a1){
  1720. /*[IF*/
  1721. /*AF*//*AE*/
  1722. /*[IRF3.6c_type_for_result_in*/{T277* C1=C;
  1723. T0* b1=a1;
  1724. r277c_type_for_argument_in(C1,b1);
  1725. }/*]*/
  1726. /*FI]*/
  1727. }
  1728.  
  1729.  
  1730. void r277c_type_for_argument_in(T277* C,T0* a1){
  1731. r7extend(((T7*)a1),((T3)'T'));
  1732. r2append_in(r277id(C),a1);
  1733. }
  1734.  
  1735.  
  1736. T0* r277run_class(T277* C){
  1737. T0* R=NULL;
  1738. R=r49run_class((/*RF2*/(C)->_run_type/*20*/));
  1739. return R;
  1740. }
  1741.  
  1742.  
  1743. void r277fatal_error(T0* a1){
  1744. /*[IRF3.6append*/{T0* b1=a1;
  1745. r7append((T7*)(oBC66explanation),b1);
  1746. }/*]*/
  1747. r66print_as_fatal_error((T66*)(oBC13eh));
  1748. }
  1749.  
  1750.  
  1751. void r277c_type_for_target_in(T277* C,T0* a1){
  1752. r277c_type_for_argument_in(C,a1);
  1753. /*[IF*/
  1754. if((r277mapping_code(C))==(6)){
  1755. r7extend(((T7*)a1),((T3)'\52'));
  1756. }
  1757. /*FI]*/
  1758. }
  1759.  
  1760.  
  1761. void r277to_runnable_1_2(T277* C){
  1762. T0* _rf=NULL;
  1763. T0* _rc=NULL;
  1764. _rc=r277run_class(C);
  1765. _rf=r50get_feature_with(((T50*)_rc),((T0*)ms15_2440));
  1766. _rf=r50get_feature_with(((T50*)_rc),((T0*)ms15_2445));
  1767. }
  1768.  
  1769.  
  1770. void r277demangling_in(T277* C,T0* a1){
  1771. /*[IF*/
  1772. /*AF*//*AE*/
  1773. r7extend(((T7*)a1),((T3)'E'));
  1774. /*FI]*/
  1775. r7extend(((T7*)a1),((T3)'\40'));
  1776. r7append(((T7*)a1),/*(IRF4.6run_time_mark*/(/*RF2*/(((T275*)((/*RF2*/(C)->_run_type/*20*/))))->_written_mark/*12*/)/*)*/);
  1777. }
  1778.  
  1779.  
  1780. void r277c_initialize(T277* C){
  1781. T2 _i=0;
  1782. /*[IF*/
  1783. if((r277mapping_code(C))==(6)){
  1784. /*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms52_783104)))))->_count)=(0);
  1785. /*]*/
  1786. r7extend((T7*)(((T0*)ms52_783104)),((T3)'\173'));
  1787. _i=r277nb_unsigned(C);
  1788. while (!((_i)==(0)))
  1789. {
  1790. r7extend((T7*)(((T0*)ms52_783104)),((T3)'0'));
  1791. _i=(_i)-(1);
  1792. /*[IF*/
  1793. if((_i)>(0)){
  1794. r7extend((T7*)(((T0*)ms52_783104)),((T3)'\54'));
  1795. }
  1796. /*FI]*/
  1797. }
  1798. r7extend((T7*)(((T0*)ms52_783104)),((T3)'\175'));
  1799. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms52_783104));
  1800. /*]*/
  1801. }
  1802. else{
  1803. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  1804. T3 b1=((T3)'0');
  1805. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  1806. }/*]*/
  1807. /*]*/
  1808. }
  1809. /*FI]*/
  1810. }
  1811.  
  1812.  
  1813. T0* r277base_class_name(void){
  1814. if(fBC276base_class_name==0){fBC276base_class_name=1;{
  1815. {T61*n=((T61*)malloc(sizeof(*n))/*12*/);
  1816. *n=M61;
  1817. oBC276base_class_name=((T0*)n);
  1818. /*[IRF3.3unknown_position*/((((T61*)(n)))->_to_string)=(((T0*)ms15_1980));
  1819. /*]*/
  1820. }
  1821. }}
  1822. return oBC276base_class_name;
  1823. }
  1824.  
  1825.  
  1826. void r277c_frame_descriptor(T277* C){
  1827. r7extend((T7*)(oBC13c_frame_descriptor_format),((T3)'\45'));
  1828. /*[IF*/
  1829. /*AF*//*AE*/
  1830. r7extend((T7*)(oBC13c_frame_descriptor_format),((T3)'E'));
  1831. /*FI]*/
  1832. r2append_in(r277id(C),oBC13c_frame_descriptor_format);
  1833. r7extend((T7*)(oBC13c_frame_descriptor_format),((T3)'\45'));
  1834. }
  1835.  
  1836.  
  1837. T6 r277is_c_char(T277* C){
  1838. T6 R=0;
  1839. R=(4)==(r277mapping_code(C));
  1840. return R;
  1841. }
  1842.  
  1843.  
  1844. void r245make(T245* C,T0* a1,T0* a2){
  1845. (/*SFN*/C->_comment)=a2;
  1846. (/*SFN*/C->_expression)=a1;
  1847. }
  1848.  
  1849.  
  1850. void r245afd_check(T245* C){
  1851. X104afd_check((/*RF2*/(C)->_expression/*8*/));
  1852. }
  1853.  
  1854.  
  1855. T6 r245use_current(T245* C){
  1856. T6 R=0;
  1857. R=X104use_current((/*RF2*/(C)->_expression/*8*/));
  1858. return R;
  1859. }
  1860.  
  1861.  
  1862. T0* r245to_runnable(T245* C,T0* a1){
  1863. T0* R=NULL;
  1864. T0* _e=NULL;
  1865. /*[IF*/
  1866. if(((/*RF2*/(C)->_current_type/*12*/))==((void*)(NULL))){
  1867. (/*SFN*/C->_current_type)=a1;
  1868. _e=X104to_runnable((/*RF2*/(C)->_expression/*8*/),a1);
  1869. /*[IF*/
  1870. if((_e)==((void*)(NULL))){
  1871. {T68 se_tmp0;
  1872. r245error((*(se_tmp0=r245start_position(C),&se_tmp0)),((T0*)ms241_20145));
  1873. }
  1874. }
  1875. else{
  1876. (/*SFN*/C->_expression)=_e;
  1877. /*[IF*/
  1878. if(!(X52is_integer(X104result_type((/*RF2*/(C)->_expression/*8*/))))){
  1879. {T68 se_tmp0;
  1880. r245error((*(se_tmp0=X104start_position((/*RF2*/(C)->_expression/*8*/)),&se_tmp0)),((T0*)ms241_86032));
  1881. }
  1882. }
  1883. /*FI]*/
  1884. }
  1885. /*FI]*/
  1886. /*[IF*/
  1887. if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
  1888. R=((T0*)(C));
  1889. }
  1890. /*FI]*/
  1891. }
  1892. else{
  1893. R=r245twin(C);
  1894. /*[IRF3.3set_current_type*/((((T245*)(((T245*)R))))->_current_type)=(NULL);
  1895. /*]*/
  1896. R=r245to_runnable(((T245*)R),a1);
  1897. }
  1898. /*FI]*/
  1899. return R;
  1900. }
  1901.  
  1902.  
  1903. T0* r245twin(T245* C){
  1904. T0* R=NULL;
  1905. R=malloc(sizeof(*C));
  1906. *((T245*)R)=*C;
  1907. return R;
  1908. }
  1909.  
  1910.  
  1911. void r245error(T68 a1,T0* a2){
  1912. r66add_position(a1);
  1913. /*[IRF3.6append*/{T0* b1=a2;
  1914. r7append((T7*)(oBC66explanation),b1);
  1915. }/*]*/
  1916. r66print_as_error((T66*)(oBC13eh));
  1917. }
  1918.  
  1919.  
  1920. T68 r245start_position(T245* C){
  1921. T68 R={NULL,0};
  1922. {T68 se_tmp0;
  1923. R=(*(se_tmp0=X104start_position((/*RF2*/(C)->_expression/*8*/)),&se_tmp0));
  1924. }
  1925. return R;
  1926. }
  1927.  
  1928.  
  1929. T2 r398id(T398* C){
  1930. T2 R=0;
  1931. R=X52id((/*RF2*/(C)->_current_type/*8*/));
  1932. return R;
  1933. }
  1934.  
  1935.  
  1936. void r398collect_c_tmp(T398* C){
  1937. /*[IF*/
  1938. if(X52is_user_expanded((/*RF2*/(C)->_result_type/*32*/))){
  1939. /*[IF*/
  1940. if(X52is_dummy_expanded((/*RF2*/(C)->_result_type/*32*/))){
  1941. }
  1942. else{
  1943. r325se_tmp_add((T0*)C);
  1944. }
  1945. /*FI]*/
  1946. }
  1947. /*FI]*/
  1948. }
  1949.  
  1950.  
  1951. void r398c_define(T398* C){
  1952. T6 _once_wrapper=0;
  1953. r325incr_precursor_routine_count((T325*)(oBC13cpp));
  1954. _once_wrapper=r398is_once_function(C);
  1955. /*[IF*/
  1956. if(_once_wrapper){
  1957. r363c_define_o_result((T0*)C);
  1958. }
  1959. /*FI]*/
  1960. /*[IF*/
  1961. if(!(r398is_pre_computable(C))){
  1962. /*[IF*/
  1963. if(_once_wrapper){
  1964. r363c_define_o_flag((T0*)C);
  1965. }
  1966. /*FI]*/
  1967. r398define_prototype(C);
  1968. /*[IF*/
  1969. if(_once_wrapper){
  1970. r363c_test_o_flag((T0*)C);
  1971. }
  1972. /*FI]*/
  1973. r398c_define_opening(C);
  1974. /*[IF*/
  1975. if(((/*RF2*/(C)->_routine_body/*44*/))!=((void*)(NULL))){
  1976. r215compile_to_c((T215*)((/*RF2*/(C)->_routine_body/*44*/)));
  1977. }
  1978. /*FI]*/
  1979. r398c_define_closing(C);
  1980. /*[IF*/
  1981. if(_once_wrapper){
  1982. r363c_return_o_result((T0*)C);
  1983. }
  1984. else{
  1985. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_8184));
  1986. /*]*/
  1987. }
  1988. /*FI]*/
  1989. r398c_frame_descriptor(C);
  1990. }
  1991. /*FI]*/
  1992. }
  1993.  
  1994.  
  1995. T0* r398clients(T398* C){
  1996. T0* R=NULL;
  1997. T0* _bfbc=NULL;
  1998. T0* _bc=NULL;
  1999. /*[IF*/
  2000. if(((/*RF2*/(C)->_clients_memory/*4*/))==((void*)(NULL))){
  2001. _bc=X52base_class((/*RF2*/(C)->_current_type/*8*/));
  2002. _bfbc=/*SSWARF2*//*X302base_class*/(/*RF2*/((T306*)((/*RF2*/(C)->_base_feature/*24*/)))->_base_class/*4*/);
  2003. /*[IF*/
  2004. if((_bc)==((void*)(_bfbc))){
  2005. R=/*SSWARF2*//*X302clients*/(/*RF2*/((T306*)((/*RF2*/(C)->_base_feature/*24*/)))->_clients/*16*/);
  2006. }
  2007. else{
  2008. R=r51clients_for(((T51*)_bc),(/*RF2*/(C)->_name/*12*/));
  2009. }
  2010. /*FI]*/
  2011. (/*SFN*/C->_clients_memory)=R;
  2012. }
  2013. else{
  2014. R=(/*RF2*/(C)->_clients_memory/*4*/);
  2015. }
  2016. /*FI]*/
  2017. return R;
  2018. }
  2019.  
  2020.  
  2021. void r398put_c_name_tag(T398* C){
  2022. T0* _fn=NULL;
  2023. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2024. T3 b1=((T3)'\42');
  2025. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2026. }/*]*/
  2027. /*]*/
  2028. _fn=/*SSFRF4*//*X302first_name*//*(IRF4.6first_name*/(/*RF2*/(((T83*)((/*RF2*/((T306*)((/*RF2*/(C)->_base_feature/*24*/)))->_names/*8*/))))->_first/*0*/)/*)*/;
  2029. /*[IF*/
  2030. if((X82to_key(_fn))!=((void*)(X82to_key((/*RF2*/(C)->_name/*12*/))))){
  2031. X82put_cpp_tag((/*RF2*/(C)->_name/*12*/));
  2032. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),X82to_string((/*RF2*/(C)->_name/*12*/)));
  2033. /*]*/
  2034. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2035. T3 b1=((T3)'\40');
  2036. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2037. }/*]*/
  2038. /*]*/
  2039. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2040. T3 b1=((T3)'\50');
  2041. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2042. }/*]*/
  2043. /*]*/
  2044. }
  2045. /*FI]*/
  2046. X82put_cpp_tag(_fn);
  2047. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),X82to_string(_fn));
  2048. /*]*/
  2049. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_1108));
  2050. /*]*/
  2051. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),(/*RF2*/((T61*)(/*SSFRF4*//*X302base_class_name*//*(IRF4.6base_class_name*/(/*RF2*/(((T51*)((/*RF2*/((T306*)((/*RF2*/(C)->_base_feature/*24*/)))->_base_class/*4*/))))->_name/*18*/)/*)*/))->_to_string/*8*/));
  2052. /*]*/
  2053. /*[IF*/
  2054. if((X82to_key(_fn))!=((void*)(X82to_key((/*RF2*/(C)->_name/*12*/))))){
  2055. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2056. T3 b1=((T3)'\51');
  2057. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2058. }/*]*/
  2059. /*]*/
  2060. }
  2061. /*FI]*/
  2062. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2063. T3 b1=((T3)'\42');
  2064. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2065. }/*]*/
  2066. /*]*/
  2067. }
  2068.  
  2069.  
  2070. void r398std_compute_use_current(T398* C){
  2071. /*[IF*/
  2072. if(((/*RF2*/(C)->_use_current_state/*16*/))==(24)){
  2073. /*[IF*/
  2074. if(((/*RF2*/(C)->_require_assertion/*36*/))!=((void*)(NULL))){
  2075. /*[IF*/
  2076. if(r376use_current((T376*)((/*RF2*/(C)->_require_assertion/*36*/)))){
  2077. (/*SFN*/C->_use_current_state)=22;
  2078. }
  2079. /*FI]*/
  2080. }
  2081. /*FI]*/
  2082. }
  2083. /*FI]*/
  2084. /*[IF*/
  2085. if(((/*RF2*/(C)->_use_current_state/*16*/))==(24)){
  2086. /*[IF*/
  2087. if(((/*RF2*/(C)->_routine_body/*44*/))!=((void*)(NULL))){
  2088. /*[IF*/
  2089. if(r215use_current((T215*)((/*RF2*/(C)->_routine_body/*44*/)))){
  2090. (/*SFN*/C->_use_current_state)=22;
  2091. }
  2092. /*FI]*/
  2093. }
  2094. /*FI]*/
  2095. }
  2096. /*FI]*/
  2097. /*[IF*/
  2098. if(((/*RF2*/(C)->_use_current_state/*16*/))==(24)){
  2099. /*[IF*/
  2100. if(((/*RF2*/(C)->_rescue_compound/*48*/))!=((void*)(NULL))){
  2101. /*[IF*/
  2102. if(r215use_current((T215*)((/*RF2*/(C)->_rescue_compound/*48*/)))){
  2103. (/*SFN*/C->_use_current_state)=22;
  2104. }
  2105. /*FI]*/
  2106. }
  2107. /*FI]*/
  2108. }
  2109. /*FI]*/
  2110. /*[IF*/
  2111. if(((/*RF2*/(C)->_use_current_state/*16*/))==(24)){
  2112. /*[IF*/
  2113. if(((/*RF2*/(C)->_ensure_assertion/*52*/))!=((void*)(NULL))){
  2114. /*[IF*/
  2115. if(r214use_current((T214*)((/*RF2*/(C)->_ensure_assertion/*52*/)))){
  2116. (/*SFN*/C->_use_current_state)=22;
  2117. }
  2118. /*FI]*/
  2119. }
  2120. /*FI]*/
  2121. }
  2122. /*FI]*/
  2123. /*[IF*/
  2124. if(((/*RF2*/(C)->_use_current_state/*16*/))==(24)){
  2125. (/*SFN*/C->_use_current_state)=21;
  2126. }
  2127. /*FI]*/
  2128. }
  2129.  
  2130.  
  2131. T0* r398run_ensure(T398* C){
  2132. T0* R=NULL;
  2133. R=r51run_ensure((T51*)(X52base_class((/*RF2*/(C)->_current_type/*8*/))),(T0*)C);
  2134. return R;
  2135. }
  2136.  
  2137.  
  2138. void r398make(T398* C,T0* a1,T0* a2,T0* a3){
  2139. (/*SFN*/C->_current_type)=a1;
  2140. (/*SFN*/C->_name)=a2;
  2141. (/*SFN*/C->_base_feature)=a3;
  2142. r50add_rf((T50*)(r398run_class(C)),(T0*)C,X82to_key(a2));
  2143. r49incr_magic_count((T49*)(oBC13small_eiffel));
  2144. (/*SFN*/C->_use_current_state)=23;
  2145. (/*SFN*/C->_stupid_switch_state)=23;
  2146. r49push((T49*)(oBC13small_eiffel),(T0*)C);
  2147. r398initialize(C);
  2148. r49pop((T49*)(oBC13small_eiffel));
  2149. }
  2150.  
  2151.  
  2152. void r398default_mapping_function(T398* C){
  2153. T6 _tcbd=0;
  2154. T6 _uc=0;
  2155. T6 _no_check=0;
  2156. _no_check=r47no_check((T47*)(oBC13run_control));
  2157. _uc=r398use_current(C);
  2158. /*[IF*/
  2159. if(!(_uc)){
  2160. _tcbd=r325target_cannot_be_dropped((T325*)(oBC13cpp));
  2161. /*[IF*/
  2162. if(_tcbd){
  2163. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2164. T3 b1=((T3)'\54');
  2165. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2166. }/*]*/
  2167. /*]*/
  2168. }
  2169. /*FI]*/
  2170. }
  2171. /*FI]*/
  2172. r398mapping_name(C);
  2173. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2174. T3 b1=((T3)'\50');
  2175. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2176. }/*]*/
  2177. /*]*/
  2178. /*[IF*/
  2179. if(_no_check){
  2180. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_759));
  2181. /*]*/
  2182. }
  2183. /*FI]*/
  2184. /*[IF*/
  2185. if(_uc){
  2186. /*[IF*/
  2187. if(_no_check){
  2188. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2189. T3 b1=((T3)'\54');
  2190. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2191. }/*]*/
  2192. /*]*/
  2193. }
  2194. /*FI]*/
  2195. r325put_target_as_target((T325*)(oBC13cpp));
  2196. }
  2197. /*FI]*/
  2198. /*[IF*/
  2199. if(((/*RF2*/(C)->_arguments/*28*/))!=((void*)(NULL))){
  2200. /*[IF*/
  2201. if((_uc)||(_no_check)){
  2202. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2203. T3 b1=((T3)'\54');
  2204. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2205. }/*]*/
  2206. /*]*/
  2207. }
  2208. /*FI]*/
  2209. r325put_arguments((T325*)(oBC13cpp));
  2210. }
  2211. /*FI]*/
  2212. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2213. T3 b1=((T3)'\51');
  2214. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2215. }/*]*/
  2216. /*]*/
  2217. /*[IF*/
  2218. if((!(_uc))&&(_tcbd)){
  2219. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2220. T3 b1=((T3)'\51');
  2221. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2222. }/*]*/
  2223. /*]*/
  2224. }
  2225. /*FI]*/
  2226. }
  2227.  
  2228.  
  2229. void r398c_assertion_flag(T398* C){
  2230. /*[IRF3.3clear*/((((T7*)((T7*)(oBC334c_code))))->_count)=(0);
  2231. /*]*/
  2232. r398c_frame_descriptor_name_in(C,oBC334c_code);
  2233. r7append((T7*)(oBC334c_code),((T0*)ms334_30285));
  2234. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC334c_code);
  2235. /*]*/
  2236. }
  2237.  
  2238.  
  2239. void r398c_define_opening(T398* C){
  2240. T0* _oresult=NULL;
  2241. T6 _ensure_check=0;
  2242. T6 _no_check=0;
  2243. T0* _t=NULL;
  2244. _no_check=r47no_check((T47*)(oBC13run_control));
  2245. _ensure_check=r47ensure_check((T47*)(oBC13run_control));
  2246. /*[IF*/
  2247. if(((/*RF2*/(C)->_rescue_compound/*48*/))!=((void*)(NULL))){
  2248. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_21346));
  2249. /*]*/
  2250. }
  2251. /*FI]*/
  2252. /*[IF*/
  2253. if(r398is_once_function(C)){
  2254. /*[IF*/
  2255. if(_no_check){
  2256. _t=X52run_type((/*RF2*/(C)->_result_type/*32*/));
  2257. r7append((T7*)(oBC13c_frame_descriptor_locals),((T0*)ms334_7344));
  2258. _oresult=r363o_result((/*RF2*/(C)->_base_feature/*24*/));
  2259. r7append((T7*)(oBC13c_frame_descriptor_locals),_oresult);
  2260. r7extend((T7*)(oBC13c_frame_descriptor_locals),((T3)'\54'));
  2261. r203increment((T203*)(oBC13c_frame_descriptor_local_count));
  2262. r7append((T7*)(oBC13c_frame_descriptor_format),((T0*)ms15_7314));
  2263. X52c_frame_descriptor(_t);
  2264. }
  2265. /*FI]*/
  2266. }
  2267.  else if(((/*RF2*/(C)->_result_type/*32*/))!=((void*)(NULL))){
  2268. _t=X52run_type((/*RF2*/(C)->_result_type/*32*/));
  2269. /*[IRF3.3clear*/((((T7*)((T7*)(oBC334c_code))))->_count)=(0);
  2270. /*]*/
  2271. X52c_type_for_result_in(_t,oBC334c_code);
  2272. r7append((T7*)(oBC334c_code),((T0*)ms334_525));
  2273. X52c_initialize_in(_t,oBC334c_code);
  2274. r7append((T7*)(oBC334c_code),((T0*)ms14_138));
  2275. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC334c_code);
  2276. /*]*/
  2277. /*[IF*/
  2278. if(_no_check){
  2279. r7append((T7*)(oBC13c_frame_descriptor_locals),((T0*)ms334_10538));
  2280. r203increment((T203*)(oBC13c_frame_descriptor_local_count));
  2281. r7append((T7*)(oBC13c_frame_descriptor_format),((T0*)ms15_7314));
  2282. X52c_frame_descriptor(_t);
  2283. }
  2284. /*FI]*/
  2285. }
  2286. /*FI]*/
  2287. /*[IF*/
  2288. if(((/*RF2*/(C)->_local_vars/*40*/))!=((void*)(NULL))){
  2289. r169c_declare((T169*)((/*RF2*/(C)->_local_vars/*40*/)));
  2290. }
  2291. /*FI]*/
  2292. /*[IF*/
  2293. if(_ensure_check){
  2294. /*[IF*/
  2295. if(((/*RF2*/(C)->_ensure_assertion/*52*/))!=((void*)(NULL))){
  2296. r214c_declare_for_old((T214*)((/*RF2*/(C)->_ensure_assertion/*52*/)));
  2297. }
  2298. /*FI]*/
  2299. }
  2300. /*FI]*/
  2301. /*[IF*/
  2302. if(_no_check){
  2303. /*[IF*/
  2304. if(((/*RF2*/((T203*)(oBC13c_frame_descriptor_local_count))->_value/*0*/))>(0)){
  2305. r7copy((T7*)(oBC334c_code),((T0*)ms334_21567));
  2306. /*[IRF3.5append_in*/r2append_in(((T2)((/*RF2*/((T203*)(oBC13c_frame_descriptor_local_count))->_value/*0*/))),oBC334c_code);
  2307. /*]*/
  2308. r7extend((T7*)(oBC334c_code),((T3)'\135'));
  2309. r7append((T7*)(oBC334c_code),((T0*)ms14_138));
  2310. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC334c_code);
  2311. /*]*/
  2312. }
  2313. /*FI]*/
  2314. r398c_initialize_ds_one_by_one(C);
  2315. /*[IRF3.2c_initialize_locals_one_by_one*/{T3 _c=0;
  2316. T2 _j=0;
  2317. T2 _i=0;
  2318. _j=1;
  2319. while (!(((/*RF2*/((T203*)(oBC13c_frame_descriptor_local_count))->_value/*0*/))==(_i)))
  2320. {
  2321. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_8120));
  2322. /*]*/
  2323. /*[IRF3.5put_integer*/r48put_integer(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),_i);
  2324. /*]*/
  2325. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_308));
  2326. /*]*/
  2327. _c=/*(IRF4.6item*/((/*RF2*/((T7*)(oBC13c_frame_descriptor_locals))->_storage/*0*/))[(_j)-(1)]/*)*/;
  2328. while (!((_c)==(((T3)'\54'))))
  2329. {
  2330. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2331. T3 b1=_c;
  2332. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2333. }/*]*/
  2334. /*]*/
  2335. _j=(_j)+(1);
  2336. _c=/*(IRF4.6item*/((/*RF2*/((T7*)(oBC13c_frame_descriptor_locals))->_storage/*0*/))[(_j)-(1)]/*)*/;
  2337. }
  2338. _j=(_j)+(1);
  2339. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_138));
  2340. /*]*/
  2341. _i=(_i)+(1);
  2342. }
  2343. }/*]*/
  2344. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_14520a));
  2345. /*]*/
  2346. }
  2347. /*FI]*/
  2348. /*[IF*/
  2349. if(_ensure_check){
  2350. /*[IF*/
  2351. if(((/*RF2*/(C)->_ensure_assertion/*52*/))!=((void*)(NULL))){
  2352. r214compile_to_c_old((T214*)((/*RF2*/(C)->_ensure_assertion/*52*/)));
  2353. }
  2354. /*FI]*/
  2355. }
  2356. /*FI]*/
  2357. /*[IF*/
  2358. if(((/*RF2*/(C)->_rescue_compound/*48*/))!=((void*)(NULL))){
  2359. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_23008));
  2360. /*]*/
  2361. r215compile_to_c((T215*)((/*RF2*/(C)->_rescue_compound/*48*/)));
  2362. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_47752));
  2363. /*]*/
  2364. }
  2365. /*FI]*/
  2366. /*[IF*/
  2367. if(((/*RF2*/(C)->_local_vars/*40*/))!=((void*)(NULL))){
  2368. r169initialize_expanded((T169*)((/*RF2*/(C)->_local_vars/*40*/)));
  2369. }
  2370. /*FI]*/
  2371. /*[IF*/
  2372. if(((/*RF2*/(C)->_rescue_compound/*48*/))!=((void*)(NULL))){
  2373. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_7436));
  2374. /*]*/
  2375. }
  2376. /*FI]*/
  2377. /*[IF*/
  2378. if(((/*RF2*/(C)->_require_assertion/*36*/))!=((void*)(NULL))){
  2379. r376compile_to_c((T376*)((/*RF2*/(C)->_require_assertion/*36*/)));
  2380. }
  2381. /*FI]*/
  2382. /*[IF*/
  2383. if(((/*RF2*/(C)->_rescue_compound/*48*/))!=((void*)(NULL))){
  2384. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_57680));
  2385. /*]*/
  2386. /*[IF*/
  2387. if(_no_check){
  2388. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_11988));
  2389. /*]*/
  2390. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_14520));
  2391. /*]*/
  2392. }
  2393. /*FI]*/
  2394. }
  2395. /*FI]*/
  2396. }
  2397.  
  2398.  
  2399. void r398c_define_closing(T398* C){
  2400. /*[IF*/
  2401. if(r47ensure_check((T47*)(oBC13run_control))){
  2402. /*[IF*/
  2403. if(((/*RF2*/(C)->_ensure_assertion/*52*/))!=((void*)(NULL))){
  2404. r214compile_to_c((T214*)((/*RF2*/(C)->_ensure_assertion/*52*/)));
  2405. }
  2406. /*FI]*/
  2407. }
  2408. /*FI]*/
  2409. /*[IF*/
  2410. if(r398use_current(C)){
  2411. /*[IF*/
  2412. if((X82to_string((/*RF2*/(C)->_name/*12*/)))!=((void*)(((T0*)ms15_8750)))){
  2413. r325current_class_invariant((/*RF2*/(C)->_current_type/*8*/));
  2414. }
  2415. /*FI]*/
  2416. }
  2417. /*FI]*/
  2418. /*[IF*/
  2419. if(((/*RF2*/(C)->_rescue_compound/*48*/))!=((void*)(NULL))){
  2420. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_25380));
  2421. /*]*/
  2422. }
  2423. /*FI]*/
  2424. /*[IF*/
  2425. if(r47no_check((T47*)(oBC13run_control))){
  2426. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_19400));
  2427. /*]*/
  2428. }
  2429. /*FI]*/
  2430. }
  2431.  
  2432.  
  2433. void r398initialize(T398* C){
  2434. (/*SFN*/C->_arguments)=/*SSWARF2*//*X302arguments*/(/*RF2*/((T306*)((/*RF2*/(C)->_base_feature/*24*/)))->_arguments/*20*/);
  2435. /*[IF*/
  2436. if(((/*RF2*/(C)->_arguments/*28*/))!=((void*)(NULL))){
  2437. /*[IF*/
  2438. if(!(r178is_runnable((T178*)((/*RF2*/(C)->_arguments/*28*/)),(/*RF2*/(C)->_current_type/*8*/)))){
  2439. {T178*n=((T178*)malloc(sizeof(*n))/*12*/);
  2440. *n=M178;
  2441. r178with(n,(/*RF2*/(C)->_arguments/*28*/),(/*RF2*/(C)->_current_type/*8*/));
  2442. (/*SFN*/C->_arguments)=((T0*)n);
  2443. }
  2444. }
  2445. /*FI]*/
  2446. }
  2447. /*FI]*/
  2448. (/*SFN*/C->_result_type)=X52to_runnable(X302result_type((/*RF2*/(C)->_base_feature/*24*/)),(/*RF2*/(C)->_current_type/*8*/));
  2449. (/*SFN*/C->_local_vars)=/*SSWARF2*//*X302local_vars*/(/*RF2*/((T306*)((/*RF2*/(C)->_base_feature/*24*/)))->_local_vars/*40*/);
  2450. /*[IF*/
  2451. if(((/*RF2*/(C)->_local_vars/*40*/))!=((void*)(NULL))){
  2452. (/*SFN*/C->_local_vars)=r169to_runnable((T169*)((/*RF2*/(C)->_local_vars/*40*/)),(/*RF2*/(C)->_current_type/*8*/));
  2453. }
  2454. /*FI]*/
  2455. (/*SFN*/C->_routine_body)=/*SSWARF2*//*X302routine_body*/(/*RF2*/((T306*)((/*RF2*/(C)->_base_feature/*24*/)))->_routine_body/*44*/);
  2456. /*[IF*/
  2457. if(((/*RF2*/(C)->_routine_body/*44*/))!=((void*)(NULL))){
  2458. (/*SFN*/C->_routine_body)=r215to_runnable((T215*)((/*RF2*/(C)->_routine_body/*44*/)),(/*RF2*/(C)->_current_type/*8*/));
  2459. }
  2460. /*FI]*/
  2461. /*[IF*/
  2462. if(r47require_check((T47*)(oBC13run_control))){
  2463. (/*SFN*/C->_require_assertion)=r398run_require(C);
  2464. }
  2465. /*FI]*/
  2466. /*[IF*/
  2467. if(r47ensure_check((T47*)(oBC13run_control))){
  2468. (/*SFN*/C->_ensure_assertion)=r398run_ensure(C);
  2469. }
  2470. /*FI]*/
  2471. (/*SFN*/C->_rescue_compound)=/*SSWARF2*//*X302rescue_compound*/(/*RF2*/((T306*)((/*RF2*/(C)->_base_feature/*24*/)))->_rescue_compound/*48*/);
  2472. /*[IF*/
  2473. if(((/*RF2*/(C)->_rescue_compound/*48*/))!=((void*)(NULL))){
  2474. /*[IRF3.3set_used*/((((T380*)((T380*)(oBC13exceptions_handler))))->_used)=(1);
  2475. /*]*/
  2476. (/*SFN*/C->_rescue_compound)=r215to_runnable((T215*)((/*RF2*/(C)->_rescue_compound/*48*/)),(/*RF2*/(C)->_current_type/*8*/));
  2477. }
  2478. /*FI]*/
  2479. /*[IF*/
  2480. if(r398is_once_function(C)){
  2481. r363register_function((T0*)C);
  2482. }
  2483. /*FI]*/
  2484. }
  2485.  
  2486.  
  2487. void r398mapping_c(T398* C){
  2488. T2 _tmp_expanded_idx=0;
  2489. /*[IF*/
  2490. if(r398is_pre_computable(C)){
  2491. /*[IRF3.6c_put_o_result*/{T0* b1=(T0*)C;
  2492. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),r363o_result(/*SSWA2*//*X334base_feature*/(/*RF2*/(((T368*)b1))->_base_feature/*24*/)));
  2493. /*]*/
  2494. }/*]*/
  2495. }
  2496. else{
  2497. _tmp_expanded_idx=r325se_tmp_open((T0*)C);
  2498. r398default_mapping_function(C);
  2499. /*[IF*/
  2500. if((_tmp_expanded_idx)>=(0)){
  2501. r325se_tmp_close(_tmp_expanded_idx);
  2502. }
  2503. /*FI]*/
  2504. }
  2505. /*FI]*/
  2506. }
  2507.  
  2508.  
  2509. void r398std_compute_stupid_switch(T398* C,T0* a1){
  2510. T0* _rt=NULL;
  2511. _rt=(/*RF2*/(C)->_result_type/*32*/);
  2512. /*[IF*/
  2513. if(((_rt)!=((void*)(NULL)))&&(X52is_user_expanded(_rt))){
  2514. (/*SFN*/C->_stupid_switch_state)=21;
  2515. }
  2516. /*FI]*/
  2517. /*[IF*/
  2518. if(((/*RF2*/(C)->_stupid_switch_state/*20*/))==(24)){
  2519. /*[IF*/
  2520. if(((/*RF2*/(C)->_routine_body/*44*/))!=((void*)(NULL))){
  2521. /*[IF*/
  2522. if(!(r215stupid_switch((T215*)((/*RF2*/(C)->_routine_body/*44*/)),a1))){
  2523. (/*SFN*/C->_stupid_switch_state)=21;
  2524. }
  2525. /*FI]*/
  2526. }
  2527. /*FI]*/
  2528. }
  2529. /*FI]*/
  2530. /*[IF*/
  2531. if(((/*RF2*/(C)->_stupid_switch_state/*20*/))==(24)){
  2532. /*[IF*/
  2533. if(((/*RF2*/(C)->_rescue_compound/*48*/))!=((void*)(NULL))){
  2534. /*[IF*/
  2535. if(!(r215stupid_switch((T215*)((/*RF2*/(C)->_rescue_compound/*48*/)),a1))){
  2536. (/*SFN*/C->_stupid_switch_state)=21;
  2537. }
  2538. /*FI]*/
  2539. }
  2540. /*FI]*/
  2541. }
  2542. /*FI]*/
  2543. /*[IF*/
  2544. if(((/*RF2*/(C)->_stupid_switch_state/*20*/))==(24)){
  2545. (/*SFN*/C->_stupid_switch_state)=22;
  2546. }
  2547. /*FI]*/
  2548. }
  2549.  
  2550.  
  2551. void r398routine_afd_check(T398* C){
  2552. /*[IF*/
  2553. if(((/*RF2*/(C)->_require_assertion/*36*/))!=((void*)(NULL))){
  2554. r376afd_check((T376*)((/*RF2*/(C)->_require_assertion/*36*/)));
  2555. }
  2556. /*FI]*/
  2557. /*[IF*/
  2558. if(((/*RF2*/(C)->_routine_body/*44*/))!=((void*)(NULL))){
  2559. r215afd_check((T215*)((/*RF2*/(C)->_routine_body/*44*/)));
  2560. }
  2561. /*FI]*/
  2562. /*[IF*/
  2563. if(((/*RF2*/(C)->_rescue_compound/*48*/))!=((void*)(NULL))){
  2564. r215afd_check((T215*)((/*RF2*/(C)->_rescue_compound/*48*/)));
  2565. }
  2566. /*FI]*/
  2567. /*[IF*/
  2568. if(((/*RF2*/(C)->_ensure_assertion/*52*/))!=((void*)(NULL))){
  2569. r214afd_check((T214*)((/*RF2*/(C)->_ensure_assertion/*52*/)));
  2570. }
  2571. /*FI]*/
  2572. }
  2573.  
  2574.  
  2575. T68 r398start_position(T398* C){
  2576. T68 R={NULL,0};
  2577. {T68 se_tmp0;
  2578. R=(*(se_tmp0=X302start_position((/*RF2*/(C)->_base_feature/*24*/)),&se_tmp0));
  2579. }
  2580. return R;
  2581. }
  2582.  
  2583.  
  2584. T0* r398run_require(T398* C){
  2585. T0* R=NULL;
  2586. R=r51run_require((T51*)(X52base_class((/*RF2*/(C)->_current_type/*8*/))),(T0*)C);
  2587. return R;
  2588. }
  2589.  
  2590.  
  2591. void r398mapping_name(T398* C){
  2592. /*[IRF3.3clear*/((((T7*)((T7*)(oBC334c_code))))->_count)=(0);
  2593. /*]*/
  2594. r7extend((T7*)(oBC334c_code),((T3)'r'));
  2595. r2append_in(r398id(C),oBC334c_code);
  2596. X82mapping_c_in((/*RF2*/(C)->_name/*12*/),oBC334c_code);
  2597. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC334c_code);
  2598. /*]*/
  2599. }
  2600.  
  2601.  
  2602. void r398c_initialize_ds_one_by_one(T398* C){
  2603. r7copy((T7*)(oBC334c_code),((T0*)ms334_36950));
  2604. r398c_frame_descriptor_name_in(C,oBC334c_code);
  2605. r7append((T7*)(oBC334c_code),((T0*)ms14_138));
  2606. /*[IF*/
  2607. if(r398use_current(C)){
  2608. r7append((T7*)(oBC334c_code),((T0*)ms334_18175));
  2609. }
  2610. else{
  2611. r7append((T7*)(oBC334c_code),((T0*)ms334_10999));
  2612. }
  2613. /*FI]*/
  2614. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC334c_code);
  2615. /*]*/
  2616. {T68 se_tmp0;
  2617. r325put_position_in_ds((*(se_tmp0=r398start_position(C),&se_tmp0)));
  2618. }
  2619. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_11466));
  2620. /*]*/
  2621. /*[IF*/
  2622. if(((/*RF2*/((T203*)(oBC13c_frame_descriptor_local_count))->_value/*0*/))>(0)){
  2623. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_11880));
  2624. /*]*/
  2625. }
  2626. /*FI]*/
  2627. }
  2628.  
  2629.  
  2630. T6 r398use_current(T398* C){
  2631. T6 R=0;
  2632. {int z1=(/*RF2*/(C)->_use_current_state/*16*/);
  2633.  
  2634. if((22==z1)){
  2635. R=1;
  2636. }
  2637.  else 
  2638. if((21==z1)){
  2639. }
  2640.  else 
  2641. if((23==z1)){
  2642. (/*SFN*/C->_use_current_state)=24;
  2643. /*[IRF3.4compute_use_current*/r398std_compute_use_current(C);
  2644. /*]*/
  2645. R=((/*RF2*/(C)->_use_current_state/*16*/))==(22);
  2646. }
  2647.  else {R=1;
  2648. }}
  2649. return R;
  2650. }
  2651.  
  2652.  
  2653. T6 r398is_once_function(T398* C){
  2654. T6 R=0;
  2655. T0* _once_function=NULL;
  2656. _once_function=(/*RF2*/(C)->_base_feature/*24*/);
  2657. if(NULL!=(_once_function)){
  2658. switch(((T0*)_once_function)->id){
  2659. case 307:
  2660. break;
  2661. default:
  2662. _once_function=NULL;
  2663. }
  2664. }R=(_once_function)!=((void*)(NULL));
  2665. return R;
  2666. }
  2667.  
  2668.  
  2669. T6 r398is_exported_in(T398* C,T0* a1){
  2670. T6 R=0;
  2671. R=r99gives_permission_to((T99*)(r398clients(C)),a1);
  2672. return R;
  2673. }
  2674.  
  2675.  
  2676. T0* r398run_class(T398* C){
  2677. T0* R=NULL;
  2678. R=X52run_class((/*RF2*/(C)->_current_type/*8*/));
  2679. return R;
  2680. }
  2681.  
  2682.  
  2683. void r398fatal_error(T0* a1){
  2684. /*[IRF3.6append*/{T0* b1=a1;
  2685. r7append((T7*)(oBC66explanation),b1);
  2686. }/*]*/
  2687. r66print_as_fatal_error((T66*)(oBC13eh));
  2688. }
  2689.  
  2690.  
  2691. T0* r398stupid_switch(T398* C,T0* a1){
  2692. T0* R=NULL;
  2693. {int z1=(/*RF2*/(C)->_stupid_switch_state/*20*/);
  2694.  
  2695. if((22==z1)){
  2696. R=((T0*)ms398_5187);
  2697. }
  2698.  else 
  2699. if((21==z1)){
  2700. }
  2701.  else 
  2702. if((23==z1)){
  2703. (/*SFN*/C->_stupid_switch_state)=24;
  2704. /*[IRF3.6compute_stupid_switch*/{T398* C1=C;
  2705. T0* b1=a1;
  2706. r398std_compute_stupid_switch(C1,b1);
  2707. }/*]*/
  2708. /*[IF*/
  2709. if(((/*RF2*/(C)->_stupid_switch_state/*20*/))==(22)){
  2710. R=((T0*)ms398_5187);
  2711. }
  2712. /*FI]*/
  2713. }
  2714.  else {}}
  2715. return R;
  2716. }
  2717.  
  2718.  
  2719. void r398define_prototype(T398* C){
  2720. T6 _no_check=0;
  2721. T2 _mem_id=0;
  2722. _no_check=r47no_check((T47*)(oBC13run_control));
  2723. /*[IF*/
  2724. if(r47no_check((T47*)(oBC13run_control))){
  2725. /*[IRF3.3reset*/((((T203*)((T203*)(oBC13c_frame_descriptor_local_count))))->_value)=(0);
  2726. /*]*/
  2727. /*[IRF3.3clear*/((((T7*)((T7*)(oBC13c_frame_descriptor_format))))->_count)=(0);
  2728. /*]*/
  2729. r7extend((T7*)(oBC13c_frame_descriptor_format),((T3)'\42'));
  2730. /*[IRF3.3clear*/((((T7*)((T7*)(oBC13c_frame_descriptor_locals))))->_count)=(0);
  2731. /*]*/
  2732. }
  2733. /*FI]*/
  2734. _mem_id=r398id(C);
  2735. /*[IRF3.3clear*/((((T7*)((T7*)(oBC334c_code))))->_count)=(0);
  2736. /*]*/
  2737. /*[IF*/
  2738. if(((/*RF2*/(C)->_result_type/*32*/))==((void*)(NULL))){
  2739. r7append((T7*)(oBC334c_code),((T0*)ms14_1736a));
  2740. }
  2741. else{
  2742. X52c_type_for_result_in(X52run_type((/*RF2*/(C)->_result_type/*32*/)),oBC334c_code);
  2743. }
  2744. /*FI]*/
  2745. r7extend((T7*)(oBC334c_code),((T3)'\40'));
  2746. r7extend((T7*)(oBC334c_code),((T3)'r'));
  2747. r2append_in(_mem_id,oBC334c_code);
  2748. X82mapping_c_in((/*RF2*/(C)->_name/*12*/),oBC334c_code);
  2749. r7extend((T7*)(oBC334c_code),((T3)'\50'));
  2750. /*[IF*/
  2751. if(_no_check){
  2752. r7append((T7*)(oBC334c_code),((T0*)ms334_56160));
  2753. /*[IF*/
  2754. if((r398use_current(C))||(((/*RF2*/(C)->_arguments/*28*/))!=((void*)(NULL)))){
  2755. r7extend((T7*)(oBC334c_code),((T3)'\54'));
  2756. }
  2757. /*FI]*/
  2758. }
  2759. /*FI]*/
  2760. /*[IF*/
  2761. if(r398use_current(C)){
  2762. X52c_type_for_target_in((/*RF2*/(C)->_current_type/*8*/),oBC334c_code);
  2763. r7extend((T7*)(oBC334c_code),((T3)'\40'));
  2764. r7extend((T7*)(oBC334c_code),((T3)'C'));
  2765. X52c_frame_descriptor((/*RF2*/(C)->_current_type/*8*/));
  2766. /*[IF*/
  2767. if(((/*RF2*/(C)->_arguments/*28*/))!=((void*)(NULL))){
  2768. r7extend((T7*)(oBC334c_code),((T3)'\54'));
  2769. }
  2770. /*FI]*/
  2771. }
  2772. /*FI]*/
  2773. /*[IF*/
  2774. if(((/*RF2*/(C)->_arguments/*28*/))==((void*)(NULL))){
  2775. /*[IF*/
  2776. if(_no_check){
  2777. }
  2778.  else if(!(r398use_current(C))){
  2779. r7append((T7*)(oBC334c_code),((T0*)ms14_1736a));
  2780. }
  2781. /*FI]*/
  2782. }
  2783. else{
  2784. r178compile_to_c_in((T178*)((/*RF2*/(C)->_arguments/*28*/)),oBC334c_code);
  2785. }
  2786. /*FI]*/
  2787. r7extend((T7*)(oBC334c_code),((T3)'\51'));
  2788. r325put_c_heading((T325*)(oBC13cpp),oBC334c_code);
  2789. /*[IRF3.3swap_on_c*/((((T325*)((T325*)(oBC13cpp))))->_current_out)=(oBC325out_c);
  2790. /*]*/
  2791. }
  2792.  
  2793.  
  2794. void r398c_frame_descriptor(T398* C){
  2795. /*[IF*/
  2796. if(r47no_check((T47*)(oBC13run_control))){
  2797. r7copy((T7*)(oBC334c_code),((T0*)ms334_23340));
  2798. r398c_frame_descriptor_name_in(C,oBC334c_code);
  2799. r325put_extern7((T325*)(oBC13cpp),oBC334c_code);
  2800. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2801. T3 b1=((T3)'\173');
  2802. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2803. }/*]*/
  2804. /*]*/
  2805. r398put_c_name_tag(C);
  2806. /*[IRF3.3clear*/((((T7*)((T7*)(oBC334c_code))))->_count)=(0);
  2807. /*]*/
  2808. r7extend((T7*)(oBC334c_code),((T3)'\54'));
  2809. /*[IF*/
  2810. if(r398use_current(C)){
  2811. r7extend((T7*)(oBC334c_code),((T3)'1'));
  2812. }
  2813. else{
  2814. r7extend((T7*)(oBC334c_code),((T3)'0'));
  2815. }
  2816. /*FI]*/
  2817. r7extend((T7*)(oBC334c_code),((T3)'\54'));
  2818. /*[IRF3.5append_in*/r2append_in(((T2)((/*RF2*/((T203*)(oBC13c_frame_descriptor_local_count))->_value/*0*/))),oBC334c_code);
  2819. /*]*/
  2820. r7extend((T7*)(oBC334c_code),((T3)'\54'));
  2821. r7append((T7*)(oBC334c_code),oBC13c_frame_descriptor_format);
  2822. r7append((T7*)(oBC334c_code),((T0*)ms334_2226));
  2823. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC334c_code);
  2824. /*]*/
  2825. }
  2826. /*FI]*/
  2827. }
  2828.  
  2829.  
  2830. void r398fe_vffd7(T398* C){
  2831. {T68 se_tmp0;
  2832. r66add_position((*(se_tmp0=X52start_position((/*RF2*/(C)->_result_type/*32*/)),&se_tmp0)));
  2833. }
  2834. r398fatal_error(((T0*)ms334_203069));
  2835. }
  2836.  
  2837.  
  2838. T6 r398is_pre_computable(T398* C){
  2839. T6 R=0;
  2840. /*[IF*/
  2841. if(r398is_once_function(C)){
  2842. R=r363is_pre_computable((T0*)C);
  2843. }
  2844. /*FI]*/
  2845. return R;
  2846. }
  2847.  
  2848.  
  2849. void r398c_frame_descriptor_name_in(T398* C,T0* a1){
  2850. r7extend(((T7*)a1),((T3)'f'));
  2851. r2append_in(r398id(C),a1);
  2852. X82mapping_c_in((/*RF2*/(C)->_name/*12*/),a1);
  2853. }
  2854.  
  2855.  
  2856. void r169add_last(T169* C,T0* a1){
  2857. T0* _n2=NULL;
  2858. T2 _i=0;
  2859. _i=1;
  2860. while (!((r176item((T176*)((/*RF2*/(C)->_flat_list/*8*/)),_i))==((void*)(NULL))))
  2861. {
  2862. _n2=r176item((T176*)((/*RF2*/(C)->_flat_list/*8*/)),_i);
  2863. /*[IF*/
  2864. if(((/*RF2*/(((T174*)_n2))->_to_string/*12*/))==((void*)((/*RF2*/(((T174*)a1))->_to_string/*12*/)))){
  2865. r66add_position((/*RF2*/(((T174*)a1))->_start_position/*4*/));
  2866. r66add_position((/*RF2*/(((T174*)_n2))->_start_position/*4*/));
  2867. r169fatal_error(((T0*)ms170_36624));
  2868. }
  2869. /*FI]*/
  2870. _i=(_i)+(1);
  2871. }
  2872. /*[IRF3.6put*/{T176* C1=(T176*)((/*RF2*/(C)->_flat_list/*8*/));
  2873. T0* b1=a1;
  2874. T2 b2=_i;
  2875. ((/*RF2*/(C1)->_storage/*4*/))[(b2)-((/*RF2*/(C1)->_lower/*16*/))]=(b1);
  2876. }/*]*/
  2877. /*[IRF3.3set_rank*/((((T174*)(((T174*)a1))))->_rank)=(_i);
  2878. /*]*/
  2879. }
  2880.  
  2881.  
  2882. void r169initialize_expanded(T169* C){
  2883. T0* _rf3=NULL;
  2884. T0* _t=NULL;
  2885. T2 _i=0;
  2886. _i=/*(IRF4.6count*/(/*RF2*/(((T176*)((/*RF2*/(C)->_flat_list/*8*/))))->_upper/*12*/)/*)*/;
  2887. while (!((_i)==(0)))
  2888. {
  2889. _t=X52run_type(r169type(C,_i));
  2890. /*[IF*/
  2891. if(X52is_expanded(_t)){
  2892. /*[IF*/
  2893. if(!(X52is_basic_eiffel_expanded(_t))){
  2894. _rf3=X52expanded_initializer(_t);
  2895. /*[IF*/
  2896. if((_rf3)!=((void*)(NULL))){
  2897. r325expanded_writable((T325*)(oBC13cpp),_rf3,/*(IRF4.6name*/r176item(((T176*)((/*RF2*/(C)->_flat_list/*8*/))),_i)/*)*/);
  2898. }
  2899. /*FI]*/
  2900. }
  2901. /*FI]*/
  2902. }
  2903. /*FI]*/
  2904. _i=(_i)-(1);
  2905. }
  2906. }
  2907.  
  2908.  
  2909. void r169inline_one_pc(T169* C){
  2910. T2 _i=0;
  2911. _i=/*(IRF4.6count*/(/*RF2*/(((T176*)((/*RF2*/(C)->_flat_list/*8*/))))->_upper/*12*/)/*)*/;
  2912. while (!((_i)==(0)))
  2913. {
  2914. r325inline_level_incr((T325*)(oBC13cpp));
  2915. r174c_declare((T174*)(/*(IRF4.6name*/r176item(((T176*)((/*RF2*/(C)->_flat_list/*8*/))),_i)/*)*/));
  2916. r325inline_level_decr((T325*)(oBC13cpp));
  2917. _i=(_i)-(1);
  2918. }
  2919. }
  2920.  
  2921.  
  2922. T2 r169rank_of(T169* C,T0* a1){
  2923. T2 R=0;
  2924. R=/*(IRF4.6count*/(/*RF2*/(((T176*)((/*RF2*/(C)->_flat_list/*8*/))))->_upper/*12*/)/*)*/;
  2925. while (!(((R)==(0))||((a1)==((void*)((/*RF2*/((T174*)(/*(IRF4.6name*/r176item(((T176*)((/*RF2*/(C)->_flat_list/*8*/))),R)/*)*/))->_to_string/*12*/))))))
  2926. {
  2927. R=(R)-(1);
  2928. }
  2929. return R;
  2930. }
  2931.  
  2932.  
  2933. void r169fatal_error(T0* a1){
  2934. /*[IRF3.6append*/{T0* b1=a1;
  2935. r7append((T7*)(oBC66explanation),b1);
  2936. }/*]*/
  2937. r66print_as_fatal_error((T66*)(oBC13eh));
  2938. }
  2939.  
  2940.  
  2941. void r169check_name_clash(T169* C,T0* a1){
  2942. T2 _i=0;
  2943. _i=(/*RF2*/((T176*)((/*RF2*/(C)->_flat_list/*8*/)))->_upper/*12*/);
  2944. while (!((_i)==(0)))
  2945. {
  2946. /*[IRF3.6name_clash*/{T174* C1=(T174*)(/*(IRF4.6name*/r176item(((T176*)((/*RF2*/(C)->_flat_list/*8*/))),_i)/*)*/);
  2947. T0* b1=a1;
  2948. r174name_clash_for(C1,b1,((T0*)ms174_106468));
  2949. }/*]*/
  2950. _i=(_i)-(1);
  2951. }
  2952. }
  2953.  
  2954.  
  2955. void r169declaration_list_make(T169* C,T0* a1){
  2956. T2 _actual_count=0;
  2957. T2 _il=0;
  2958. (/*SFN*/C->_list)=a1;
  2959. _il=(/*RF2*/((T309*)((/*RF2*/(C)->_list/*4*/)))->_upper/*8*/);
  2960. while (!((_il)==(0)))
  2961. {
  2962. _actual_count=(_actual_count)+(X308count(r309item((T309*)((/*RF2*/(C)->_list/*4*/)),_il)));
  2963. _il=(_il)-(1);
  2964. }
  2965. {T176*n=((T176*)malloc(sizeof(*n))/*20*/);
  2966. *n=M176;
  2967. r176make(n,1,_actual_count);
  2968. (/*SFN*/C->_flat_list)=((T0*)n);
  2969. }
  2970. _il=1;
  2971. while (!((_il)>((/*RF2*/((T309*)((/*RF2*/(C)->_list/*4*/)))->_upper/*8*/))))
  2972. {
  2973. X308append_in(r309item((T309*)((/*RF2*/(C)->_list/*4*/)),_il),(T0*)C);
  2974. _il=(_il)+(1);
  2975. }
  2976. }
  2977.  
  2978.  
  2979. T6 r169produce_c(T169* C){
  2980. T6 R=0;
  2981. T2 _i=0;
  2982. _i=/*(IRF4.6count*/(/*RF2*/(((T176*)((/*RF2*/(C)->_flat_list/*8*/))))->_upper/*12*/)/*)*/;
  2983. while (!((R)||((_i)==(0))))
  2984. {
  2985. R=r174produce_c((T174*)(/*(IRF4.6name*/r176item(((T176*)((/*RF2*/(C)->_flat_list/*8*/))),_i)/*)*/));
  2986. _i=(_i)-(1);
  2987. }
  2988. return R;
  2989. }
  2990.  
  2991.  
  2992. void r169c_declare(T169* C){
  2993. T0* _n=NULL;
  2994. T2 _i=0;
  2995. _i=/*(IRF4.6count*/(/*RF2*/(((T176*)((/*RF2*/(C)->_flat_list/*8*/))))->_upper/*12*/)/*)*/;
  2996. while (!((_i)==(0)))
  2997. {
  2998. _n=/*(IRF4.6name*/r176item(((T176*)((/*RF2*/(C)->_flat_list/*8*/))),_i)/*)*/;
  2999. r174c_declare(((T174*)_n));
  3000. /*[IF*/
  3001. if(r47no_check((T47*)(oBC13run_control))){
  3002. r174c_frame_descriptor(((T174*)_n),r169type(C,_i));
  3003. }
  3004. /*FI]*/
  3005. _i=(_i)-(1);
  3006. }
  3007. }
  3008.  
  3009.  
  3010. T0* r169to_runnable(T169* C,T0* a1){
  3011. T0* R=NULL;
  3012. /*[IF*/
  3013. if(r169is_runnable(C,a1)){
  3014. R=((T0*)(C));
  3015. }
  3016. else{
  3017. R=r169twin(C);
  3018. r169dynamic_runnable(((T169*)R),a1);
  3019. r169check_name_clash(((T169*)R),a1);
  3020. }
  3021. /*FI]*/
  3022. return R;
  3023. }
  3024.  
  3025.  
  3026. T0* r169twin(T169* C){
  3027. T0* R=NULL;
  3028. R=malloc(sizeof(*C));
  3029. *((T169*)R)=*C;
  3030. return R;
  3031. }
  3032.  
  3033.  
  3034. T0* r169type(T169* C,T2 a1){
  3035. T0* R=NULL;
  3036. R=(/*RF2*/((T174*)(/*(IRF4.6name*/r176item(((T176*)((/*RF2*/(C)->_flat_list/*8*/))),a1)/*)*/))->_result_type/*16*/);
  3037. return R;
  3038. }
  3039.  
  3040.  
  3041. void r169dynamic_runnable(T169* C,T0* a1){
  3042. T0* _n2=NULL;
  3043. T0* _n1=NULL;
  3044. T2 _i=0;
  3045. (/*SFN*/C->_flat_list)=r176twin((T176*)((/*RF2*/(C)->_flat_list/*8*/)));
  3046. _i=(/*RF2*/((T176*)((/*RF2*/(C)->_flat_list/*8*/)))->_upper/*12*/);
  3047. while (!((_i)==(0)))
  3048. {
  3049. _n1=r176item((T176*)((/*RF2*/(C)->_flat_list/*8*/)),_i);
  3050. _n2=r174to_runnable(((T174*)_n1),a1);
  3051. /*[IF*/
  3052. if((_n2)==((void*)(NULL))){
  3053. r169error((/*RF2*/(((T174*)_n1))->_start_position/*4*/),((T0*)ms170_18096));
  3054. }
  3055. else{
  3056. /*[IRF3.6put*/{T176* C1=(T176*)((/*RF2*/(C)->_flat_list/*8*/));
  3057. T0* b1=_n2;
  3058. T2 b2=_i;
  3059. ((/*RF2*/(C1)->_storage/*4*/))[(b2)-((/*RF2*/(C1)->_lower/*16*/))]=(b1);
  3060. }/*]*/
  3061. }
  3062. /*FI]*/
  3063. _i=(_i)-(1);
  3064. }
  3065. }
  3066.  
  3067.  
  3068. void r169error(T68 a1,T0* a2){
  3069. r66add_position(a1);
  3070. /*[IRF3.6append*/{T0* b1=a2;
  3071. r7append((T7*)(oBC66explanation),b1);
  3072. }/*]*/
  3073. r66print_as_error((T66*)(oBC13eh));
  3074. }
  3075.  
  3076.  
  3077. T6 r169is_runnable(T169* C,T0* a1){
  3078. T6 R=0;
  3079. T0* _t=NULL;
  3080. T0* _n=NULL;
  3081. T2 _i=0;
  3082. R=1;
  3083. _i=(/*RF2*/((T176*)((/*RF2*/(C)->_flat_list/*8*/)))->_upper/*12*/);
  3084. while (!((!(R))||((_i)==(0))))
  3085. {
  3086. _t=r169type(C,_i);
  3087. /*[IF*/
  3088. if(X52is_run_type(_t)){
  3089. /*[IF*/
  3090. if((X52run_type(_t))!=((void*)(_t))){
  3091. R=0;
  3092. }
  3093. /*FI]*/
  3094. }
  3095. else{
  3096. R=0;
  3097. }
  3098. /*FI]*/
  3099. _i=(_i)-(1);
  3100. }
  3101. /*[IF*/
  3102. if(R){
  3103. _i=(/*RF2*/((T176*)((/*RF2*/(C)->_flat_list/*8*/)))->_upper/*12*/);
  3104. while (!((_i)==(0)))
  3105. {
  3106. _n=r176item((T176*)((/*RF2*/(C)->_flat_list/*8*/)),_i);
  3107. /*[IF*/
  3108. if((r174to_runnable(((T174*)_n),a1))==((void*)(NULL))){
  3109. r169error((/*RF2*/(((T174*)_n))->_start_position/*4*/),((T0*)ms170_18096));
  3110. _i=0;
  3111. }
  3112. else{
  3113. _i=(_i)-(1);
  3114. }
  3115. /*FI]*/
  3116. }
  3117. r169check_name_clash(C,a1);
  3118. }
  3119. /*FI]*/
  3120. return R;
  3121. }
  3122. T0*oBC301external_routine_memory=NULL;
  3123.  
  3124.  
  3125. void r301c_define_procedure(T301* C,T0* a1,T0* a2,T0* a3){
  3126. r301standard_c_define_procedure(a1,a2,a3);
  3127. r325c_plus_plus_register((T325*)(oBC13cpp),(T0*)C);
  3128. (/*SFN*/C->_rf7_memory)=a1;
  3129. }
  3130.  
  3131.  
  3132. void r301parse_external(T301* C,T2 a1,T0* a2,T0* a3){
  3133. T3 _c=0;
  3134. T2 _parenthesis=0;
  3135. T2 _args=0;
  3136. T2 _state=0;
  3137. T2 _i=0;
  3138. _i=4;
  3139. while (!((_i)>((/*RF2*/(((T7*)a2))->_count/*4*/))))
  3140. {
  3141. _c=/*(IRF4.6item*/((/*RF2*/(((T7*)a2))->_storage/*0*/))[(_i)-(1)]/*)*/;
  3142. {int z1=_state;
  3143.  
  3144. if((0==z1)){
  3145. {int z2=_c;
  3146.  
  3147. if(((9<=z2)&&(z2<=10))||(32==z2)){
  3148. _i=(_i)+(1);
  3149. }
  3150.  else 
  3151. if((91==z2)){
  3152. _i=(_i)+(1);
  3153. _state=1;
  3154. }
  3155.  else{_i=r301error_at(C,_i,a2,_state);
  3156. }}
  3157. }
  3158.  else 
  3159. if((1==z1)){
  3160. /*[IF*/
  3161. if((((_c)==(((T3)'\40')))||((_c)==(((T3)'\11'))))||((_c)==(((T3)'\n')))){
  3162. _i=(_i)+(1);
  3163. }
  3164.  else if((_i)==(r7substring_index(((T7*)a2),((T0*)ms301_5411),_i))){
  3165. _i=(_i)+(7);
  3166. _i=r301parse_cpp_class(C,_i,a2);
  3167. r7append((T7*)(oBC288body),((T0*)ms301_232));
  3168. r7append((T7*)(oBC288body),/*SSFRF4*//*X289external_c_name*/r291external_c_name(((T291*)a3)));
  3169. _state=2;
  3170. }
  3171.  else if((_i)==(r7substring_index(((T7*)a2),((T0*)ms301_1448),_i))){
  3172. _i=(_i)+(4);
  3173. r7append((T7*)(oBC288body),((T0*)ms301_1448a));
  3174. _i=r301parse_cpp_class(C,_i,a2);
  3175. _state=3;
  3176. }
  3177.  else if((_i)==(r7substring_index(((T7*)a2),((T0*)ms301_5250),_i))){
  3178. _i=(_i)+(7);
  3179. r7append((T7*)(oBC288body),((T0*)ms301_6768));
  3180. _i=r301parse_cpp_class(C,_i,a2);
  3181. r7append((T7*)(oBC288body),((T0*)ms301_1350));
  3182. /*[IF*/
  3183. if(((_args)!=(0))||((a1)!=(1))){
  3184. _i=r301error_at(C,_i,a2,_state);
  3185. }
  3186. else{
  3187. _state=4;
  3188. }
  3189. /*FI]*/
  3190. }
  3191.  else if((_i)==(r7substring_index(((T7*)a2),((T0*)ms301_10668),_i))){
  3192. _i=r301error_at(C,_i,a2,_state);
  3193. }
  3194. else{
  3195. _args=(_args)+(1);
  3196. r7append((T7*)(oBC288body),((T0*)ms301_160));
  3197. _i=r301parse_cpp_class(C,_i,a2);
  3198. r7append((T7*)(oBC288body),((T0*)ms301_4928));
  3199. r7append((T7*)(oBC288body),/*SSFRF4*//*X289external_c_name*/r291external_c_name(((T291*)a3)));
  3200. _state=5;
  3201. }
  3202. /*FI]*/
  3203. }
  3204.  else 
  3205. if((2==z1)){
  3206. {int z2=_c;
  3207.  
  3208. if(((9<=z2)&&(z2<=10))||(32==z2)){
  3209. _i=(_i)+(1);
  3210. }
  3211.  else 
  3212. if((93==z2)){
  3213. _i=(_i)+(1);
  3214. _state=8;
  3215. }
  3216.  else{_i=r301error_at(C,_i,a2,_state);
  3217. }}
  3218. }
  3219.  else 
  3220. if((3==z1)){
  3221. {int z2=_c;
  3222.  
  3223. if(((9<=z2)&&(z2<=10))||(32==z2)){
  3224. _i=(_i)+(1);
  3225. }
  3226.  else 
  3227. if((93==z2)){
  3228. _i=(_i)+(1);
  3229. _state=6;
  3230. }
  3231.  else{_i=r301error_at(C,_i,a2,_state);
  3232. }}
  3233. }
  3234.  else 
  3235. if((4==z1)){
  3236. {int z2=_c;
  3237.  
  3238. if(((9<=z2)&&(z2<=10))||(32==z2)){
  3239. _i=(_i)+(1);
  3240. }
  3241.  else 
  3242. if((93==z2)){
  3243. _i=(_i)+(1);
  3244. _state=10;
  3245. }
  3246.  else{_i=r301error_at(C,_i,a2,_state);
  3247. }}
  3248. }
  3249.  else 
  3250. if((5==z1)){
  3251. {int z2=_c;
  3252.  
  3253. if(((9<=z2)&&(z2<=10))||(32==z2)){
  3254. _i=(_i)+(1);
  3255. }
  3256.  else 
  3257. if((93==z2)){
  3258. _i=(_i)+(1);
  3259. _state=7;
  3260. }
  3261.  else{_i=r301error_at(C,_i,a2,_state);
  3262. }}
  3263. }
  3264.  else 
  3265. if((6==z1)){
  3266. {int z2=_c;
  3267.  
  3268. if(((9<=z2)&&(z2<=10))||(32==z2)){
  3269. _i=(_i)+(1);
  3270. }
  3271.  else 
  3272. if((40==z2)){
  3273. _i=r301parse_args(C,_i,a2,_args,a1);
  3274. _state=13;
  3275. }
  3276.  else{_i=r301error_at(C,_i,a2,_state);
  3277. }}
  3278. }
  3279.  else 
  3280. if((7==z1)){
  3281. {int z2=_c;
  3282.  
  3283. if(((9<=z2)&&(z2<=10))||(32==z2)){
  3284. _i=(_i)+(1);
  3285. }
  3286.  else 
  3287. if((40==z2)){
  3288. _i=r301parse_args(C,_i,a2,_args,a1);
  3289. _state=11;
  3290. }
  3291.  else{_i=r301error_at(C,_i,a2,_state);
  3292. }}
  3293. }
  3294.  else 
  3295. if((8==z1)){
  3296. {int z2=_c;
  3297.  
  3298. if(((9<=z2)&&(z2<=10))||(32==z2)){
  3299. _i=(_i)+(1);
  3300. }
  3301.  else 
  3302. if((40==z2)){
  3303. _i=r301parse_args(C,_i,a2,_args,a1);
  3304. _state=9;
  3305. }
  3306.  else{_i=r301error_at(C,_i,a2,_state);
  3307. }}
  3308. }
  3309.  else 
  3310. if((9==z1)){
  3311. _i=(_i)+(1);
  3312. }
  3313.  else 
  3314. if((10==z1)){
  3315. {int z2=_c;
  3316.  
  3317. if(((9<=z2)&&(z2<=10))||(32==z2)){
  3318. _i=(_i)+(1);
  3319. }
  3320.  else 
  3321. if((40==z2)){
  3322. _parenthesis=(_parenthesis)+(1);
  3323. _i=(_i)+(1);
  3324. }
  3325.  else 
  3326. if((41==z2)){
  3327. /*[IF*/
  3328. if((_parenthesis)>(1)){
  3329. _i=r301error_at(C,_i,a2,_state);
  3330. }
  3331. else{
  3332. _i=(_i)+(1);
  3333. }
  3334. /*FI]*/
  3335. }
  3336.  else{_i=r301error_at(C,_i,a2,_state);
  3337. }}
  3338. }
  3339.  else 
  3340. if((11==z1)){
  3341. {int z2=_c;
  3342.  
  3343. if((58==z2)){
  3344. _state=12;
  3345. }
  3346.  else 
  3347. if((124==z2)){
  3348. _state=13;
  3349. }
  3350. }
  3351. _i=(_i)+(1);
  3352. }
  3353.  else 
  3354. if((12==z1)){
  3355. {int z2=_c;
  3356.  
  3357. if((124==z2)){
  3358. _state=13;
  3359. }
  3360. }
  3361. _i=(_i)+(1);
  3362. }
  3363.  else {{int z2=_c;
  3364.  
  3365. if(((9<=z2)&&(z2<=10))||(32==z2)){
  3366. _i=(_i)+(1);
  3367. }
  3368.  else 
  3369. if((34==z2)||(60==z2)){
  3370. _i=r301parse_include(C,_i,a2);
  3371. }
  3372.  else 
  3373. if((44==z2)){
  3374. _i=(_i)+(1);
  3375. }
  3376.  else{_i=r301error_at(C,_i,a2,_state);
  3377. }}
  3378. }}
  3379. }
  3380. }
  3381.  
  3382.  
  3383. void r301c_mapping_procedure(T0* a1,T0* a2,T0* a3){
  3384. /*[IF*/
  3385. if(r47boost((T47*)(oBC13run_control))){
  3386. r301c_mapping_external((/*RF2*/(((T337*)a1))->_base_feature/*24*/),r337arg_count(((T337*)a1)));
  3387. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_138));
  3388. /*]*/
  3389. }
  3390. else{
  3391. r337default_mapping_procedure(((T337*)a1));
  3392. }
  3393. /*FI]*/
  3394. }
  3395.  
  3396.  
  3397. void r301c_define_function(T301* C,T0* a1,T0* a2,T0* a3){
  3398. r301standard_c_define_function(a1,a2,a3);
  3399. r325c_plus_plus_register((T325*)(oBC13cpp),(T0*)C);
  3400. (/*SFN*/C->_rf8_memory)=a1;
  3401. }
  3402.  
  3403.  
  3404. void r301c_mapping_function(T0* a1,T0* a2,T0* a3){
  3405. /*[IF*/
  3406. if(r47boost((T47*)(oBC13run_control))){
  3407. r301c_mapping_external((/*RF2*/(((T333*)a1))->_base_feature/*24*/),r333arg_count(((T333*)a1)));
  3408. }
  3409. else{
  3410. r333default_mapping_function(((T333*)a1));
  3411. }
  3412. /*FI]*/
  3413. }
  3414.  
  3415.  
  3416. void r301c_plus_plus_definition(T301* C){
  3417. /*[IF*/
  3418. if(((/*RF2*/(C)->_rf8_memory/*12*/))!=((void*)(NULL))){
  3419. r301c_plus_plus_function_definition(C,(/*RF2*/(C)->_rf8_memory/*12*/));
  3420. }
  3421. else{
  3422. r301c_plus_plus_procedure_definition(C,(/*RF2*/(C)->_rf7_memory/*8*/));
  3423. }
  3424. /*FI]*/
  3425. }
  3426.  
  3427.  
  3428. void r301standard_c_define_procedure(T0* a1,T0* a2,T0* a3){
  3429. /*[IF*/
  3430. {/*AT*//*[IRF3.6c_prototype*/{T337* C1=((T337*)a1);
  3431. r337external_prototype(C1,(/*RF2*/(C1)->_base_feature/*24*/));
  3432. }/*]*/
  3433. }
  3434. /*FI]*/
  3435. /*[IF*/
  3436. if(r47no_check((T47*)(oBC13run_control))){
  3437. /*[IRF3.3clear*/((((T7*)((T7*)(oBC288body))))->_count)=(0);
  3438. /*]*/
  3439. r301wrapped_external_call((/*RF2*/(((T337*)a1))->_base_feature/*24*/),r337arg_count(((T337*)a1)));
  3440. r337c_define_with_body(((T337*)a1),oBC288body);
  3441. }
  3442. /*FI]*/
  3443. }
  3444.  
  3445.  
  3446. void r301standard_c_define_function(T0* a1,T0* a2,T0* a3){
  3447. /*[IF*/
  3448. {/*AT*//*[IRF3.6c_prototype*/{T333* C1=((T333*)a1);
  3449. r333external_prototype(C1,(/*RF2*/(C1)->_base_feature/*24*/));
  3450. }/*]*/
  3451. }
  3452. /*FI]*/
  3453. /*[IF*/
  3454. if(r47no_check((T47*)(oBC13run_control))){
  3455. /*[IRF3.3clear*/((((T7*)((T7*)(oBC288body))))->_count)=(0);
  3456. /*]*/
  3457. r7extend((T7*)(oBC288body),((T3)'R'));
  3458. r7extend((T7*)(oBC288body),((T3)'\75'));
  3459. r301wrapped_external_call((/*RF2*/(((T333*)a1))->_base_feature/*24*/),r333arg_count(((T333*)a1)));
  3460. r333c_define_with_body(((T333*)a1),oBC288body);
  3461. }
  3462. /*FI]*/
  3463. }
  3464.  
  3465.  
  3466. void r301wrapped_external_call(T0* a1,T2 a2){
  3467. T2 _i=0;
  3468. r7append((T7*)(oBC288body),/*SSFRF4*//*X289external_c_name*/r291external_c_name(((T291*)a1)));
  3469. r7extend((T7*)(oBC288body),((T3)'\50'));
  3470. /*[IF*/
  3471. /*AF*//*AE*/
  3472. /*FI]*/
  3473. _i=1;
  3474. while (!((_i)>(a2)))
  3475. {
  3476. r7extend((T7*)(oBC288body),((T3)'a'));
  3477. r2append_in(_i,oBC288body);
  3478. _i=(_i)+(1);
  3479. /*[IF*/
  3480. if((_i)<=(a2)){
  3481. r7extend((T7*)(oBC288body),((T3)'\54'));
  3482. }
  3483. /*FI]*/
  3484. }
  3485. r7append((T7*)(oBC288body),((T0*)ms14_330));
  3486. }
  3487.  
  3488.  
  3489. void r301c_plus_plus_procedure_definition(T301* C,T0* a1){
  3490. T2 _args_count=0;
  3491. T0* _er=NULL;
  3492. _er=(/*RF2*/(((T337*)a1))->_base_feature/*24*/);
  3493. /*[IF*/
  3494. if(!(r335fast_has((T335*)(oBC301external_routine_memory),_er))){
  3495. r335add_last((T335*)(oBC301external_routine_memory),_er);
  3496. r337c_plus_plus_prototype(((T337*)a1),_er);
  3497. /*[IRF3.3clear*/((((T7*)((T7*)(oBC288body))))->_count)=(0);
  3498. /*]*/
  3499. /*[IF*/
  3500. if(((/*RF2*/(((T337*)a1))->_arguments/*28*/))!=((void*)(NULL))){
  3501. _args_count=/*(IRF4.6count*/(/*RF2*/(((T182*)((/*RF2*/((T178*)((/*RF2*/(((T337*)a1))->_arguments/*28*/)))->_flat_list/*8*/))))->_upper/*12*/)/*)*/;
  3502. }
  3503. /*FI]*/
  3504. r301parse_external(C,_args_count,(/*RF2*/(C)->_external_tag/*4*/),_er);
  3505. r7append((T7*)(oBC288body),((T0*)ms301_816));
  3506. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC288body);
  3507. /*]*/
  3508. }
  3509. /*FI]*/
  3510. }
  3511.  
  3512.  
  3513. void r301c_mapping_external(T0* a1,T2 a2){
  3514. T6 _tcbd=0;
  3515. T6 _eruc=0;
  3516. _eruc=/*(IRF4.1use_current*/0/*)*/;
  3517. /*[IF*/
  3518. if(!(_eruc)){
  3519. _tcbd=r325target_cannot_be_dropped((T325*)(oBC13cpp));
  3520. /*[IF*/
  3521. if(_tcbd){
  3522. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3523. T3 b1=((T3)'\54');
  3524. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3525. }/*]*/
  3526. /*]*/
  3527. }
  3528. /*FI]*/
  3529. }
  3530. /*FI]*/
  3531. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),/*SSFRF4*//*X289external_c_name*/r291external_c_name(((T291*)a1)));
  3532. /*]*/
  3533. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3534. T3 b1=((T3)'\50');
  3535. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3536. }/*]*/
  3537. /*]*/
  3538. /*[IF*/
  3539. if(_eruc){
  3540. r325put_target_as_value((T325*)(oBC13cpp));
  3541. }
  3542. /*FI]*/
  3543. /*[IF*/
  3544. if((a2)>(0)){
  3545. /*[IF*/
  3546. if(_eruc){
  3547. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3548. T3 b1=((T3)'\54');
  3549. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3550. }/*]*/
  3551. /*]*/
  3552. }
  3553. /*FI]*/
  3554. r325put_arguments((T325*)(oBC13cpp));
  3555. }
  3556. /*FI]*/
  3557. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3558. T3 b1=((T3)'\51');
  3559. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3560. }/*]*/
  3561. /*]*/
  3562. /*[IF*/
  3563. if((!(_eruc))&&(_tcbd)){
  3564. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3565. T3 b1=((T3)'\51');
  3566. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3567. }/*]*/
  3568. /*]*/
  3569. }
  3570. /*FI]*/
  3571. }
  3572.  
  3573.  
  3574. T2 r301error_at(T301* C,T2 a1,T0* a2,T2 a3){
  3575. T2 R=0;
  3576. /*[IF*/
  3577. if(((/*RF2*/(C)->_rf7_memory/*8*/))!=((void*)(NULL))){
  3578. {T68 se_tmp0;
  3579. r66add_position((*(se_tmp0=r290start_position((T290*)((/*RF2*/((T337*)((/*RF2*/(C)->_rf7_memory/*8*/)))->_base_feature/*24*/))),&se_tmp0)));
  3580. }
  3581. }
  3582. else{
  3583. {T68 se_tmp0;
  3584. r66add_position((*(se_tmp0=r291start_position((T291*)((/*RF2*/((T333*)((/*RF2*/(C)->_rf8_memory/*12*/)))->_base_feature/*24*/))),&se_tmp0)));
  3585. }
  3586. }
  3587. /*FI]*/
  3588. /*[IRF3.6append*/{T0* b1=((T0*)ms301_73390);
  3589. r7append((T7*)(oBC66explanation),b1);
  3590. }/*]*/
  3591. /*[IRF3.6append*/{T0* b1=a2;
  3592. r7append((T7*)(oBC66explanation),b1);
  3593. }/*]*/
  3594. /*[IRF3.6append*/{T0* b1=((T0*)ms301_15114);
  3595. r7append((T7*)(oBC66explanation),b1);
  3596. }/*]*/
  3597. R=1;
  3598. while (!((R)>(a1)))
  3599. {
  3600. /*[IRF3.6extend*/{T3 b1=((T3)'\137');
  3601. r7extend((T7*)(oBC66explanation),b1);
  3602. }/*]*/
  3603. R=(R)+(1);
  3604. }
  3605. /*[IRF3.6extend*/{T3 b1=((T3)'\136');
  3606. r7extend((T7*)(oBC66explanation),b1);
  3607. }/*]*/
  3608. /*[IRF3.6append*/{T0* b1=((T0*)ms301_165557);
  3609. r7append((T7*)(oBC66explanation),b1);
  3610. }/*]*/
  3611. /*[IRF3.6append*/{T0* b1=r2to_string(a3);
  3612. r7append((T7*)(oBC66explanation),b1);
  3613. }/*]*/
  3614. /*[IRF3.6extend*/{T3 b1=((T3)'\51');
  3615. r7extend((T7*)(oBC66explanation),b1);
  3616. }/*]*/
  3617. r66print_as_error((T66*)(oBC13eh));
  3618. R=((/*RF2*/(((T7*)a2))->_count/*4*/))+(1);
  3619. return R;
  3620. }
  3621.  
  3622.  
  3623. void r301c_plus_plus_function_definition(T301* C,T0* a1){
  3624. T2 _args_count=0;
  3625. T0* _er=NULL;
  3626. _er=(/*RF2*/(((T333*)a1))->_base_feature/*24*/);
  3627. /*[IF*/
  3628. if(!(r335fast_has((T335*)(oBC301external_routine_memory),_er))){
  3629. r335add_last((T335*)(oBC301external_routine_memory),_er);
  3630. r333c_plus_plus_prototype(((T333*)a1),_er);
  3631. /*[IRF3.3clear*/((((T7*)((T7*)(oBC288body))))->_count)=(0);
  3632. /*]*/
  3633. r7append((T7*)(oBC288body),((T0*)ms301_8298));
  3634. X52c_type_for_external_in((/*RF2*/(((T333*)a1))->_result_type/*36*/),oBC288body);
  3635. r7extend((T7*)(oBC288body),((T3)'\51'));
  3636. /*[IF*/
  3637. if(((/*RF2*/(((T333*)a1))->_arguments/*32*/))!=((void*)(NULL))){
  3638. _args_count=/*(IRF4.6count*/(/*RF2*/(((T182*)((/*RF2*/((T178*)((/*RF2*/(((T333*)a1))->_arguments/*32*/)))->_flat_list/*8*/))))->_upper/*12*/)/*)*/;
  3639. }
  3640. /*FI]*/
  3641. r301parse_external(C,_args_count,(/*RF2*/(C)->_external_tag/*4*/),_er);
  3642. r7append((T7*)(oBC288body),((T0*)ms301_1225));
  3643. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC288body);
  3644. /*]*/
  3645. }
  3646. /*FI]*/
  3647. }
  3648. T0*oBC301include_memory=NULL;
  3649.  
  3650.  
  3651. T2 r301parse_cpp_class(T301* C,T2 a1,T0* a2){
  3652. T2 R=0;
  3653. T3 _c=0;
  3654. T2 _state=0;
  3655. T2 _i=0;
  3656. _state=30;
  3657. _i=a1;
  3658. while (!(((_i)>((/*RF2*/(((T7*)a2))->_count/*4*/)))||((_state)>(32))))
  3659. {
  3660. _c=/*(IRF4.6item*/((/*RF2*/(((T7*)a2))->_storage/*0*/))[(_i)-(1)]/*)*/;
  3661. {int z1=_state;
  3662.  
  3663. if((30==z1)){
  3664. {int z2=_c;
  3665.  
  3666. if(((9<=z2)&&(z2<=10))||(32==z2)){
  3667. _i=(_i)+(1);
  3668. }
  3669.  else 
  3670. if((34==z2)||((40<=z2)&&(z2<=41))||(60==z2)||(62==z2)){
  3671. _i=r301error_at(C,_i,a2,_state);
  3672. }
  3673.  else{_state=31;
  3674. }}
  3675. }
  3676.  else 
  3677. if((31==z1)){
  3678. {int z2=_c;
  3679.  
  3680. if(((9<=z2)&&(z2<=10))||(32==z2)){
  3681. _state=32;
  3682. }
  3683.  else 
  3684. if((34==z2)||(60==z2)){
  3685. _i=r301parse_include(C,_i,a2);
  3686. _state=33;
  3687. }
  3688.  else{r7extend((T7*)(oBC288body),_c);
  3689. _i=(_i)+(1);
  3690. }}
  3691. }
  3692.  else {{int z2=_c;
  3693.  
  3694. if(((9<=z2)&&(z2<=10))||(32==z2)){
  3695. _i=(_i)+(1);
  3696. }
  3697.  else 
  3698. if((34==z2)||(60==z2)){
  3699. _i=r301parse_include(C,_i,a2);
  3700. _state=33;
  3701. }
  3702.  else{_i=r301error_at(C,_i,a2,_state);
  3703. }}
  3704. }}
  3705. }
  3706. R=_i;
  3707. return R;
  3708. }
  3709.  
  3710.  
  3711. T2 r301parse_include(T301* C,T2 a1,T0* a2){
  3712. T2 R=0;
  3713. T3 _c=0;
  3714. T2 _i=0;
  3715. T0* _include=NULL;
  3716. T0* _buffer=NULL;
  3717. _buffer=((T0*)ms301_25116);
  3718. /*[IRF3.3clear*/((((T7*)(((T7*)_buffer))))->_count)=(0);
  3719. /*]*/
  3720. r7extend(((T7*)_buffer),/*(IRF4.6item*/((/*RF2*/(((T7*)a2))->_storage/*0*/))[(a1)-(1)]/*)*/);
  3721. _i=(a1)+(1);
  3722. while (!(((_i)>((/*RF2*/(((T7*)a2))->_count/*4*/)))||((R)>(_i))))
  3723. {
  3724. _c=/*(IRF4.6item*/((/*RF2*/(((T7*)a2))->_storage/*0*/))[(_i)-(1)]/*)*/;
  3725. {int z1=_c;
  3726.  
  3727. if((34==z1)||(62==z1)){
  3728. r7extend(((T7*)_buffer),_c);
  3729. _include=r7twin(((T7*)_buffer));
  3730. /*[IF*/
  3731. if(!(r31has((T31*)(oBC301include_memory),_include))){
  3732. r31add_last((T31*)(oBC301include_memory),_include);
  3733. /*[IRF3.6add_include*/{T325* C1=(T325*)(oBC13cpp);
  3734. T0* b1=_include;
  3735. r325add_include_on((/*RF2*/(C1)->_out_h/*59*/),b1);
  3736. }/*]*/
  3737. }
  3738. /*FI]*/
  3739. R=(_i)+(1);
  3740. }
  3741.  else{r7extend(((T7*)_buffer),_c);
  3742. _i=(_i)+(1);
  3743. }}
  3744. }
  3745. /*[IF*/
  3746. if((R)==(0)){
  3747. R=r301error_at(C,_i,a2,20);
  3748. }
  3749. /*FI]*/
  3750. return R;
  3751. }
  3752.  
  3753.  
  3754. T2 r301parse_args(T301* C,T2 a1,T0* a2,T2 a3,T2 a4){
  3755. T2 R=0;
  3756. T3 _c=0;
  3757. T2 _state=0;
  3758. T2 _a=0;
  3759. T2 _parenthesis=0;
  3760. T2 _i=0;
  3761. _a=a3;
  3762. _state=40;
  3763. r7extend((T7*)(oBC288body),((T3)'\50'));
  3764. _i=(a1)+(1);
  3765. while (!(((_i)>((/*RF2*/(((T7*)a2))->_count/*4*/)))||((R)>(_i))))
  3766. {
  3767. _c=/*(IRF4.6item*/((/*RF2*/(((T7*)a2))->_storage/*0*/))[(_i)-(1)]/*)*/;
  3768. {int z1=_state;
  3769.  
  3770. if((40==z1)){
  3771. {int z2=_c;
  3772.  
  3773. if(((9<=z2)&&(z2<=10))||(32==z2)){
  3774. _i=(_i)+(1);
  3775. }
  3776.  else 
  3777. if((41==z2)){
  3778. R=(_i)+(1);
  3779. }
  3780.  else{r7extend((T7*)(oBC288body),((T3)'\50'));
  3781. _state=41;
  3782. }}
  3783. }
  3784.  else {{int z2=_c;
  3785.  
  3786. if((44==z2)){
  3787. _i=(_i)+(1);
  3788. r7extend((T7*)(oBC288body),((T3)'\51'));
  3789. _a=(_a)+(1);
  3790. r7extend((T7*)(oBC288body),((T3)'a'));
  3791. r2append_in(_a,oBC288body);
  3792. /*[IF*/
  3793. if((_a)<(a4)){
  3794. r7extend((T7*)(oBC288body),((T3)'\54'));
  3795. }
  3796. /*FI]*/
  3797. _state=40;
  3798. }
  3799.  else 
  3800. if((40==z2)){
  3801. r7extend((T7*)(oBC288body),_c);
  3802. _parenthesis=(_parenthesis)+(1);
  3803. _i=(_i)+(1);
  3804. }
  3805.  else 
  3806. if((41==z2)){
  3807. /*[IF*/
  3808. if((_parenthesis)==(0)){
  3809. r7extend((T7*)(oBC288body),((T3)'\51'));
  3810. _a=(_a)+(1);
  3811. r7extend((T7*)(oBC288body),((T3)'a'));
  3812. r2append_in(_a,oBC288body);
  3813. R=(_i)+(1);
  3814. }
  3815. else{
  3816. r7extend((T7*)(oBC288body),_c);
  3817. _parenthesis=(_parenthesis)-(1);
  3818. _i=(_i)+(1);
  3819. }
  3820. /*FI]*/
  3821. }
  3822.  else{r7extend((T7*)(oBC288body),_c);
  3823. _i=(_i)+(1);
  3824. }}
  3825. }}
  3826. }
  3827. r7extend((T7*)(oBC288body),((T3)'\51'));
  3828. /*[IF*/
  3829. if(((R)==(0))||((_a)!=(a4))){
  3830. R=r301error_at(C,_i,a2,_state);
  3831. }
  3832. /*FI]*/
  3833. return R;
  3834. }
  3835.  
  3836.  
  3837. T0* r268generic_list(T268* C){
  3838. T0* R=NULL;
  3839. r268fatal_error_generic_list(C);
  3840. return R;
  3841. }
  3842.  
  3843.  
  3844. void r268cast_to_ref(T268* C){
  3845. X52cast_to_ref(/*(IRF4.4run_type*/((T0*)(C))/*)*/);
  3846. }
  3847.  
  3848.  
  3849. void r268gc_call_new_in(T0* a1){
  3850. r7append(((T7*)a1),((T0*)ms14_990));
  3851. r2append_in(-1,a1);
  3852. r7extend(((T7*)a1),((T3)'\50'));
  3853. r7extend(((T7*)a1),((T3)'\51'));
  3854. }
  3855. T0*oBC268base_class=NULL;
  3856. int fBC268base_class=0;
  3857.  
  3858.  
  3859. T0* r268base_class(void){
  3860. if(fBC268base_class==0){fBC268base_class=1;{
  3861. {T51*n=((T51*)malloc(sizeof(*n))/*66*/);
  3862. *n=M51;
  3863. oBC268base_class=((T0*)n);
  3864. r51make(n,((T0*)ms15_1216),((T0*)ms15_1216),-1);
  3865. }
  3866. }}
  3867. return oBC268base_class;
  3868. }
  3869.  
  3870.  
  3871. T0* r268look_up_for(T0* a1,T0* a2){
  3872. T0* R=NULL;
  3873. R=r51look_up_for((T51*)(r268base_class()),a1,a2);
  3874. return R;
  3875. }
  3876.  
  3877.  
  3878. T6 r268has_creation(T268* C,T0* a1){
  3879. T6 R=0;
  3880. {T68 se_tmp0;
  3881. r66add_position((*(se_tmp0=X82start_position(a1),&se_tmp0)));
  3882. }
  3883. r268error(/*(IRF4.6start_position*/(/*RF2*/(((T61*)((/*RF2*/(C)->_base_class_name/*4*/))))->_start_position/*0*/)/*)*/,((T0*)ms268_29400));
  3884. return R;
  3885. }
  3886.  
  3887.  
  3888. void r268error(T68 a1,T0* a2){
  3889. r66add_position(a1);
  3890. /*[IRF3.6append*/{T0* b1=a2;
  3891. r7append((T7*)(oBC66explanation),b1);
  3892. }/*]*/
  3893. r66print_as_error((T66*)(oBC13eh));
  3894. }
  3895.  
  3896.  
  3897. T6 r268is_a_in(T268* C,T0* a1,T0* a2){
  3898. T6 R=0;
  3899. T0* _ct=NULL;
  3900. T0* _t2=NULL;
  3901. T0* _t1=NULL;
  3902. /*[IF*/
  3903. if((r268written_mark())==((void*)(X52written_mark(a1)))){
  3904. R=1;
  3905. }
  3906. else{
  3907. _ct=(/*RF2*/(((T50*)a2))->_current_type/*0*/);
  3908. _t1=/*(IRF4.4to_runnable*/((T0*)(C))/*)*/;
  3909. _t2=X52to_runnable(a1,_ct);
  3910. /*[IF*/
  3911. if((X52run_time_mark(_t1))==((void*)(X52run_time_mark(_t2)))){
  3912. R=1;
  3913. }
  3914. else{
  3915. R=X52is_a(_t1,_t2);
  3916. }
  3917. /*FI]*/
  3918. }
  3919. /*FI]*/
  3920. return R;
  3921. }
  3922.  
  3923.  
  3924. T6 r268is_native_array(T268* C){
  3925. T6 R=0;
  3926. T0* _tna=NULL;
  3927. _tna=NULL;
  3928. R=(_tna)!=((void*)(NULL));
  3929. return R;
  3930. }
  3931.  
  3932.  
  3933. void r268make(T268* C,T68 a1){
  3934. {T61*n=((T61*)malloc(sizeof(*n))/*12*/);
  3935. *n=M61;
  3936. r61make(n,((T0*)ms15_1216),a1);
  3937. (/*SFN*/C->_base_class_name)=((T0*)n);
  3938. }
  3939. }
  3940.  
  3941.  
  3942. T2 r268c_sizeof_pointer(void){
  3943. T2 R=0;
  3944. T8 _p=NULL;
  3945. R=sizeof(T8);
  3946. return R;
  3947. }
  3948.  
  3949.  
  3950. void r268fatal_error_generic_list(T268* C){
  3951. r66add_type((T0*)C,((T0*)ms52_28899));
  3952. r66print_as_fatal_error((T66*)(oBC13eh));
  3953. }
  3954.  
  3955.  
  3956. T0* r268smallest_ancestor(T0* a1){
  3957. T0* R=NULL;
  3958. R=a1;
  3959. return R;
  3960. }
  3961.  
  3962.  
  3963. void r268id_extra_information(T0* a1){
  3964. r48put_string(((T48*)a1),((T0*)ms52_9724));
  3965. /*[IF*/
  3966. {/*AT*/r48put_string(((T48*)a1),((T0*)ms52_1476));
  3967. }
  3968. /*FI]*/
  3969. }
  3970.  
  3971.  
  3972. void r268gc_mark_in(T0* a1){
  3973. r7append(((T7*)a1),((T0*)ms14_8764));
  3974. r2append_in(-1,a1);
  3975. }
  3976.  
  3977.  
  3978. void r268c_type_for_external_in(T0* a1){
  3979. /*[IF*/
  3980. {/*AT*/r7append(((T7*)a1),((T0*)ms14_1736a));
  3981. r7extend(((T7*)a1),((T3)'\52'));
  3982. }
  3983. /*FI]*/
  3984. }
  3985.  
  3986.  
  3987. T0* r268run_time_mark(void){
  3988. T0* R=NULL;
  3989. R=((T0*)ms15_1216);
  3990. return R;
  3991. }
  3992.  
  3993.  
  3994. T0* r268run_class(T268* C){
  3995. T0* R=NULL;
  3996. R=r49run_class((T0*)C);
  3997. return R;
  3998. }
  3999.  
  4000.  
  4001. void r268demangling_in(T0* a1){
  4002. /*[IF*/
  4003. {/*AT*/r7extend(((T7*)a1),((T3)'R'));
  4004. }
  4005. /*FI]*/
  4006. r7extend(((T7*)a1),((T3)'\40'));
  4007. r7append(((T7*)a1),r268run_time_mark());
  4008. }
  4009.  
  4010.  
  4011. T0* r268written_mark(void){
  4012. T0* R=NULL;
  4013. R=((T0*)ms15_1216);
  4014. return R;
  4015. }
  4016.  
  4017.  
  4018. void r244make(T244* C,T0* a1,T0* a2,T0* a3){
  4019. (/*SFN*/C->_comment)=a3;
  4020. (/*SFN*/C->_tag)=a1;
  4021. (/*SFN*/C->_expression)=a2;
  4022. }
  4023.  
  4024.  
  4025. void r244afd_check(T244* C){
  4026. X104afd_check((/*RF2*/(C)->_expression/*8*/));
  4027. }
  4028.  
  4029.  
  4030. T6 r244use_current(T244* C){
  4031. T6 R=0;
  4032. R=X104use_current((/*RF2*/(C)->_expression/*8*/));
  4033. return R;
  4034. }
  4035.  
  4036.  
  4037. T0* r244to_runnable(T244* C,T0* a1){
  4038. T0* R=NULL;
  4039. T0* _e=NULL;
  4040. /*[IF*/
  4041. if(((/*RF2*/(C)->_current_type/*12*/))==((void*)(NULL))){
  4042. (/*SFN*/C->_current_type)=a1;
  4043. _e=X104to_runnable((/*RF2*/(C)->_expression/*8*/),a1);
  4044. /*[IF*/
  4045. if((_e)==((void*)(NULL))){
  4046. {T68 se_tmp0;
  4047. r244error((*(se_tmp0=r244start_position(C),&se_tmp0)),((T0*)ms241_20145));
  4048. }
  4049. }
  4050. else{
  4051. (/*SFN*/C->_expression)=_e;
  4052. /*[IF*/
  4053. if(!(X52is_integer(X104result_type((/*RF2*/(C)->_expression/*8*/))))){
  4054. {T68 se_tmp0;
  4055. r244error((*(se_tmp0=X104start_position((/*RF2*/(C)->_expression/*8*/)),&se_tmp0)),((T0*)ms241_86032));
  4056. }
  4057. }
  4058. /*FI]*/
  4059. }
  4060. /*FI]*/
  4061. /*[IF*/
  4062. if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
  4063. R=((T0*)(C));
  4064. }
  4065. /*FI]*/
  4066. }
  4067. else{
  4068. R=r244twin(C);
  4069. /*[IRF3.3set_current_type*/((((T244*)(((T244*)R))))->_current_type)=(NULL);
  4070. /*]*/
  4071. R=r244to_runnable(((T244*)R),a1);
  4072. }
  4073. /*FI]*/
  4074. return R;
  4075. }
  4076.  
  4077.  
  4078. T0* r244twin(T244* C){
  4079. T0* R=NULL;
  4080. R=malloc(sizeof(*C));
  4081. *((T244*)R)=*C;
  4082. return R;
  4083. }
  4084.  
  4085.  
  4086. void r244error(T68 a1,T0* a2){
  4087. r66add_position(a1);
  4088. /*[IRF3.6append*/{T0* b1=a2;
  4089. r7append((T7*)(oBC66explanation),b1);
  4090. }/*]*/
  4091. r66print_as_error((T66*)(oBC13eh));
  4092. }
  4093.  
  4094.  
  4095. T68 r244start_position(T244* C){
  4096. T68 R={NULL,0};
  4097. {T68 se_tmp0;
  4098. R=(*(se_tmp0=X104start_position((/*RF2*/(C)->_expression/*8*/)),&se_tmp0));
  4099. }
  4100. return R;
  4101. }
  4102.  
  4103.  
  4104. void r129declaration_in(T129* C,T0* a1){
  4105. r7append(((T7*)a1),((T0*)ms14_2710));
  4106. r7extend(((T7*)a1),((T3)'\40'));
  4107. r7extend(((T7*)a1),((T3)'\42'));
  4108. r7append(((T7*)a1),(/*RF2*/(C)->_to_string/*12*/));
  4109. r7extend(((T7*)a1),((T3)'\42'));
  4110. }
  4111.  
  4112.  
  4113. void r129make(T129* C,T0* a1,T68 a2){
  4114. (/*SFN*/C->_to_string)=a1;
  4115. (/*SFN*/C->_start_position)=a2;
  4116. (/*SFN*/C->_to_key)=((/*UT*/(void)((T21*)(r129string_aliaser()))),r21for_infix((/*RF2*/(C)->_to_string/*12*/)));
  4117. }
  4118.  
  4119.  
  4120. void r129undefine_in(T129* C,T0* a1){
  4121. /*[IF*/
  4122. /*AF*//*AE*/
  4123. /*FI]*/
  4124. }
  4125.  
  4126.  
  4127. T0* r129string_aliaser(void){
  4128. if(fBC13string_aliaser==0){fBC13string_aliaser=1;{
  4129. {T21*n=((T21*)malloc(1));
  4130. oBC13string_aliaser=((T0*)n);
  4131. /*[IRF3.2make*//*[IRF3.6add1*/{T0* b1=((T0*)ms15_696);
  4132. r23put((T23*)(oBC21memory),b1,b1);
  4133. }/*]*/
  4134. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1915);
  4135. r23put((T23*)(oBC21memory),b1,b1);
  4136. }/*]*/
  4137. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_669);
  4138. r23put((T23*)(oBC21memory),b1,b1);
  4139. }/*]*/
  4140. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1980);
  4141. r23put((T23*)(oBC21memory),b1,b1);
  4142. }/*]*/
  4143. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_9234);
  4144. r23put((T23*)(oBC21memory),b1,b1);
  4145. }/*]*/
  4146. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_6405);
  4147. r23put((T23*)(oBC21memory),b1,b1);
  4148. }/*]*/
  4149. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12529);
  4150. r23put((T23*)(oBC21memory),b1,b1);
  4151. }/*]*/
  4152. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_9801);
  4153. r23put((T23*)(oBC21memory),b1,b1);
  4154. }/*]*/
  4155. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_16393);
  4156. r23put((T23*)(oBC21memory),b1,b1);
  4157. }/*]*/
  4158. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12550);
  4159. r23put((T23*)(oBC21memory),b1,b1);
  4160. }/*]*/
  4161. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_4728);
  4162. r23put((T23*)(oBC21memory),b1,b1);
  4163. }/*]*/
  4164. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_10740);
  4165. r23put((T23*)(oBC21memory),b1,b1);
  4166. }/*]*/
  4167. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12030);
  4168. r23put((T23*)(oBC21memory),b1,b1);
  4169. }/*]*/
  4170. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_14817);
  4171. r23put((T23*)(oBC21memory),b1,b1);
  4172. }/*]*/
  4173. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_6307);
  4174. r23put((T23*)(oBC21memory),b1,b1);
  4175. }/*]*/
  4176. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_6643);
  4177. r23put((T23*)(oBC21memory),b1,b1);
  4178. }/*]*/
  4179. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12595);
  4180. r23put((T23*)(oBC21memory),b1,b1);
  4181. }/*]*/
  4182. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_5508);
  4183. r23put((T23*)(oBC21memory),b1,b1);
  4184. }/*]*/
  4185. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_17448);
  4186. r23put((T23*)(oBC21memory),b1,b1);
  4187. }/*]*/
  4188. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1216);
  4189. r23put((T23*)(oBC21memory),b1,b1);
  4190. }/*]*/
  4191. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_7928);
  4192. r23put((T23*)(oBC21memory),b1,b1);
  4193. }/*]*/
  4194. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_6776);
  4195. r23put((T23*)(oBC21memory),b1,b1);
  4196. }/*]*/
  4197. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12804);
  4198. r23put((T23*)(oBC21memory),b1,b1);
  4199. }/*]*/
  4200. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1168);
  4201. r23put((T23*)(oBC21memory),b1,b1);
  4202. }/*]*/
  4203. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_7576);
  4204. r23put((T23*)(oBC21memory),b1,b1);
  4205. }/*]*/
  4206. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_4956);
  4207. r23put((T23*)(oBC21memory),b1,b1);
  4208. }/*]*/
  4209. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_16692);
  4210. r23put((T23*)(oBC21memory),b1,b1);
  4211. }/*]*/
  4212. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_19124);
  4213. r23put((T23*)(oBC21memory),b1,b1);
  4214. }/*]*/
  4215. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_921);
  4216. r23put((T23*)(oBC21memory),b1,b1);
  4217. }/*]*/
  4218. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_10680);
  4219. r23put((T23*)(oBC21memory),b1,b1);
  4220. }/*]*/
  4221. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_64);
  4222. r23put((T23*)(oBC21memory),b1,b1);
  4223. }/*]*/
  4224. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_368);
  4225. r23put((T23*)(oBC21memory),b1,b1);
  4226. }/*]*/
  4227. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_61);
  4228. r23put((T23*)(oBC21memory),b1,b1);
  4229. }/*]*/
  4230. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_246);
  4231. r23put((T23*)(oBC21memory),b1,b1);
  4232. }/*]*/
  4233. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_62);
  4234. r23put((T23*)(oBC21memory),b1,b1);
  4235. }/*]*/
  4236. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_9408);
  4237. r23put((T23*)(oBC21memory),b1,b1);
  4238. }/*]*/
  4239. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_242);
  4240. r23put((T23*)(oBC21memory),b1,b1);
  4241. }/*]*/
  4242. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_60);
  4243. r23put((T23*)(oBC21memory),b1,b1);
  4244. }/*]*/
  4245. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_45);
  4246. r23put((T23*)(oBC21memory),b1,b1);
  4247. }/*]*/
  4248. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_42);
  4249. r23put((T23*)(oBC21memory),b1,b1);
  4250. }/*]*/
  4251. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_216);
  4252. r23put((T23*)(oBC21memory),b1,b1);
  4253. }/*]*/
  4254. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1011);
  4255. r23put((T23*)(oBC21memory),b1,b1);
  4256. }/*]*/
  4257. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_450);
  4258. r23put((T23*)(oBC21memory),b1,b1);
  4259. }/*]*/
  4260. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_8211);
  4261. r23put((T23*)(oBC21memory),b1,b1);
  4262. }/*]*/
  4263. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_43);
  4264. r23put((T23*)(oBC21memory),b1,b1);
  4265. }/*]*/
  4266. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_94);
  4267. r23put((T23*)(oBC21memory),b1,b1);
  4268. }/*]*/
  4269. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_552);
  4270. r23put((T23*)(oBC21memory),b1,b1);
  4271. }/*]*/
  4272. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_564);
  4273. r23put((T23*)(oBC21memory),b1,b1);
  4274. }/*]*/
  4275. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_47);
  4276. r23put((T23*)(oBC21memory),b1,b1);
  4277. }/*]*/
  4278. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_188);
  4279. r23put((T23*)(oBC21memory),b1,b1);
  4280. }/*]*/
  4281. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_35);
  4282. r23put((T23*)(oBC21memory),b1,b1);
  4283. }/*]*/
  4284. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1035a);
  4285. r23put((T23*)(oBC21memory),b1,b1);
  4286. }/*]*/
  4287. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_11424);
  4288. r23put((T23*)(oBC21memory),b1,b1);
  4289. }/*]*/
  4290. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2600);
  4291. r23put((T23*)(oBC21memory),b1,b1);
  4292. }/*]*/
  4293. r21add2(((T0*)ms15_22524));
  4294. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_6702);
  4295. r23put((T23*)(oBC21memory),b1,b1);
  4296. }/*]*/
  4297. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_11776);
  4298. r23put((T23*)(oBC21memory),b1,b1);
  4299. }/*]*/
  4300. r21add2(((T0*)ms15_29246));
  4301. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13419);
  4302. r23put((T23*)(oBC21memory),b1,b1);
  4303. }/*]*/
  4304. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2765a);
  4305. r23put((T23*)(oBC21memory),b1,b1);
  4306. }/*]*/
  4307. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1644);
  4308. r23put((T23*)(oBC21memory),b1,b1);
  4309. }/*]*/
  4310. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_19294);
  4311. r23put((T23*)(oBC21memory),b1,b1);
  4312. }/*]*/
  4313. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1772);
  4314. r23put((T23*)(oBC21memory),b1,b1);
  4315. }/*]*/
  4316. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_15070);
  4317. r23put((T23*)(oBC21memory),b1,b1);
  4318. }/*]*/
  4319. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_15570);
  4320. r23put((T23*)(oBC21memory),b1,b1);
  4321. }/*]*/
  4322. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_27034);
  4323. r23put((T23*)(oBC21memory),b1,b1);
  4324. }/*]*/
  4325. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_15190);
  4326. r23put((T23*)(oBC21memory),b1,b1);
  4327. }/*]*/
  4328. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_15890);
  4329. r23put((T23*)(oBC21memory),b1,b1);
  4330. }/*]*/
  4331. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_19151);
  4332. r23put((T23*)(oBC21memory),b1,b1);
  4333. }/*]*/
  4334. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13491);
  4335. r23put((T23*)(oBC21memory),b1,b1);
  4336. }/*]*/
  4337. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_28490);
  4338. r23put((T23*)(oBC21memory),b1,b1);
  4339. }/*]*/
  4340. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_8750);
  4341. r23put((T23*)(oBC21memory),b1,b1);
  4342. }/*]*/
  4343. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_19437);
  4344. r23put((T23*)(oBC21memory),b1,b1);
  4345. }/*]*/
  4346. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_22824a);
  4347. r23put((T23*)(oBC21memory),b1,b1);
  4348. }/*]*/
  4349. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_23829);
  4350. r23put((T23*)(oBC21memory),b1,b1);
  4351. }/*]*/
  4352. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_27272);
  4353. r23put((T23*)(oBC21memory),b1,b1);
  4354. }/*]*/
  4355. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_10528);
  4356. r23put((T23*)(oBC21memory),b1,b1);
  4357. }/*]*/
  4358. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13707);
  4359. r23put((T23*)(oBC21memory),b1,b1);
  4360. }/*]*/
  4361. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_6846);
  4362. r23put((T23*)(oBC21memory),b1,b1);
  4363. }/*]*/
  4364. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1664);
  4365. r23put((T23*)(oBC21memory),b1,b1);
  4366. }/*]*/
  4367. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2760);
  4368. r23put((T23*)(oBC21memory),b1,b1);
  4369. }/*]*/
  4370. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2730a);
  4371. r23put((T23*)(oBC21memory),b1,b1);
  4372. }/*]*/
  4373. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_22248);
  4374. r23put((T23*)(oBC21memory),b1,b1);
  4375. }/*]*/
  4376. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_22788);
  4377. r23put((T23*)(oBC21memory),b1,b1);
  4378. }/*]*/
  4379. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_30660);
  4380. r23put((T23*)(oBC21memory),b1,b1);
  4381. }/*]*/
  4382. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13995);
  4383. r23put((T23*)(oBC21memory),b1,b1);
  4384. }/*]*/
  4385. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_432);
  4386. r23put((T23*)(oBC21memory),b1,b1);
  4387. }/*]*/
  4388. r21add2(((T0*)ms15_22596));
  4389. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_60104);
  4390. r23put((T23*)(oBC21memory),b1,b1);
  4391. }/*]*/
  4392. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_24960);
  4393. r23put((T23*)(oBC21memory),b1,b1);
  4394. }/*]*/
  4395. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_34432);
  4396. r23put((T23*)(oBC21memory),b1,b1);
  4397. }/*]*/
  4398. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_11144);
  4399. r23put((T23*)(oBC21memory),b1,b1);
  4400. }/*]*/
  4401. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_18964);
  4402. r23put((T23*)(oBC21memory),b1,b1);
  4403. }/*]*/
  4404. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1724);
  4405. r23put((T23*)(oBC21memory),b1,b1);
  4406. }/*]*/
  4407. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1744);
  4408. r23put((T23*)(oBC21memory),b1,b1);
  4409. }/*]*/
  4410. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2765);
  4411. r23put((T23*)(oBC21memory),b1,b1);
  4412. }/*]*/
  4413. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_6762);
  4414. r23put((T23*)(oBC21memory),b1,b1);
  4415. }/*]*/
  4416. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1656);
  4417. r23put((T23*)(oBC21memory),b1,b1);
  4418. }/*]*/
  4419. r21add2(((T0*)ms15_60016));
  4420. r21add2(((T0*)ms15_26880));
  4421. r21add2(((T0*)ms15_33240));
  4422. r21add2(((T0*)ms15_21624));
  4423. r21add2(((T0*)ms15_60060));
  4424. r21add2(((T0*)ms15_26908));
  4425. r21add2(((T0*)ms15_33270));
  4426. r21add2(((T0*)ms15_21648));
  4427. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_17886);
  4428. r23put((T23*)(oBC21memory),b1,b1);
  4429. }/*]*/
  4430. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_22824);
  4431. r23put((T23*)(oBC21memory),b1,b1);
  4432. }/*]*/
  4433. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_21192);
  4434. r23put((T23*)(oBC21memory),b1,b1);
  4435. }/*]*/
  4436. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2785);
  4437. r23put((T23*)(oBC21memory),b1,b1);
  4438. }/*]*/
  4439. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_11496);
  4440. r23put((T23*)(oBC21memory),b1,b1);
  4441. }/*]*/
  4442. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_53940);
  4443. r23put((T23*)(oBC21memory),b1,b1);
  4444. }/*]*/
  4445. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1035);
  4446. r23put((T23*)(oBC21memory),b1,b1);
  4447. }/*]*/
  4448. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2440);
  4449. r23put((T23*)(oBC21memory),b1,b1);
  4450. }/*]*/
  4451. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2445);
  4452. r23put((T23*)(oBC21memory),b1,b1);
  4453. }/*]*/
  4454. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_32730);
  4455. r23put((T23*)(oBC21memory),b1,b1);
  4456. }/*]*/
  4457. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12744);
  4458. r23put((T23*)(oBC21memory),b1,b1);
  4459. }/*]*/
  4460. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13662);
  4461. r23put((T23*)(oBC21memory),b1,b1);
  4462. }/*]*/
  4463. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_8547);
  4464. r23put((T23*)(oBC21memory),b1,b1);
  4465. }/*]*/
  4466. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_8505);
  4467. r23put((T23*)(oBC21memory),b1,b1);
  4468. }/*]*/
  4469. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_9436);
  4470. r23put((T23*)(oBC21memory),b1,b1);
  4471. }/*]*/
  4472. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_14193);
  4473. r23put((T23*)(oBC21memory),b1,b1);
  4474. }/*]*/
  4475. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12915a);
  4476. r23put((T23*)(oBC21memory),b1,b1);
  4477. }/*]*/
  4478. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12915);
  4479. r23put((T23*)(oBC21memory),b1,b1);
  4480. }/*]*/
  4481. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_34528);
  4482. r23put((T23*)(oBC21memory),b1,b1);
  4483. }/*]*/
  4484. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13752);
  4485. r23put((T23*)(oBC21memory),b1,b1);
  4486. }/*]*/
  4487. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_11336);
  4488. r23put((T23*)(oBC21memory),b1,b1);
  4489. }/*]*/
  4490. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_26156);
  4491. r23put((T23*)(oBC21memory),b1,b1);
  4492. }/*]*/
  4493. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_11376);
  4494. r23put((T23*)(oBC21memory),b1,b1);
  4495. }/*]*/
  4496. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_27580);
  4497. r23put((T23*)(oBC21memory),b1,b1);
  4498. }/*]*/
  4499. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_33990);
  4500. r23put((T23*)(oBC21memory),b1,b1);
  4501. }/*]*/
  4502. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_27443);
  4503. r23put((T23*)(oBC21memory),b1,b1);
  4504. }/*]*/
  4505. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_40358);
  4506. r23put((T23*)(oBC21memory),b1,b1);
  4507. }/*]*/
  4508. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_25584);
  4509. r23put((T23*)(oBC21memory),b1,b1);
  4510. }/*]*/
  4511. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_7380);
  4512. r23put((T23*)(oBC21memory),b1,b1);
  4513. }/*]*/
  4514. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2730);
  4515. r23put((T23*)(oBC21memory),b1,b1);
  4516. }/*]*/
  4517. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_7530);
  4518. r23put((T23*)(oBC21memory),b1,b1);
  4519. }/*]*/
  4520. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13977);
  4521. r23put((T23*)(oBC21memory),b1,b1);
  4522. }/*]*/
  4523. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_14175);
  4524. r23put((T23*)(oBC21memory),b1,b1);
  4525. }/*]*/
  4526. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_16970);
  4527. r23put((T23*)(oBC21memory),b1,b1);
  4528. }/*]*/
  4529. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_8820);
  4530. r23put((T23*)(oBC21memory),b1,b1);
  4531. }/*]*/
  4532. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_7326);
  4533. r23put((T23*)(oBC21memory),b1,b1);
  4534. }/*]*/
  4535. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_22716);
  4536. r23put((T23*)(oBC21memory),b1,b1);
  4537. }/*]*/
  4538. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12978);
  4539. r23put((T23*)(oBC21memory),b1,b1);
  4540. }/*]*/
  4541. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_16770);
  4542. r23put((T23*)(oBC21memory),b1,b1);
  4543. }/*]*/
  4544. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_16850);
  4545. r23put((T23*)(oBC21memory),b1,b1);
  4546. }/*]*/
  4547. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_9051);
  4548. r23put((T23*)(oBC21memory),b1,b1);
  4549. }/*]*/
  4550. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_21300);
  4551. r23put((T23*)(oBC21memory),b1,b1);
  4552. }/*]*/
  4553. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_56720);
  4554. r23put((T23*)(oBC21memory),b1,b1);
  4555. }/*]*/
  4556. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1800);
  4557. r23put((T23*)(oBC21memory),b1,b1);
  4558. }/*]*/
  4559. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2780);
  4560. r23put((T23*)(oBC21memory),b1,b1);
  4561. }/*]*/
  4562. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_27456);
  4563. r23put((T23*)(oBC21memory),b1,b1);
  4564. }/*]*/
  4565. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_15650);
  4566. r23put((T23*)(oBC21memory),b1,b1);
  4567. }/*]*/
  4568. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_9275);
  4569. r23put((T23*)(oBC21memory),b1,b1);
  4570. }/*]*/
  4571. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_58075);
  4572. r23put((T23*)(oBC21memory),b1,b1);
  4573. }/*]*/
  4574. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_22140);
  4575. r23put((T23*)(oBC21memory),b1,b1);
  4576. }/*]*/
  4577. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13833);
  4578. r23put((T23*)(oBC21memory),b1,b1);
  4579. }/*]*/
  4580. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_7314);
  4581. r23put((T23*)(oBC21memory),b1,b1);
  4582. }/*]*/
  4583. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1608);
  4584. r23put((T23*)(oBC21memory),b1,b1);
  4585. }/*]*/
  4586. /*]*/
  4587. }
  4588. }}
  4589. return oBC13string_aliaser;
  4590. }
  4591.  
  4592.